随笔8

必做题:

========================================
第一题:
1.定义一个Animal类,包含如下行为:
eat() 打印"要吃饭"
run() 打印"会跑步"
sleep() 打印"要睡觉"
2.定义一个Dog类,继承Animal类,重写eat(),run()方法
定义自己特有的行为 :
cry() 打印"狗会汪汪叫"
3.定义测试类DogTest, 创建Dog的对象,依次调用eat(),run(),sleep(),cry()方法,打印出如下语句
狗要吃那啥
狗跑的如脱缰的野狗
要睡觉
狗会汪汪叫

复制代码
public class Animal {
    void eat(){
        System.out.println("要吃饭");
    }
    void run(){
        System.out.println("会跑步");
    }
    void sleep(){
        System.out.println("要睡觉");
    }
}



public class Dog extends Animal{
    @Override
    void eat() {
        System.out.println("狗要吃那啥");
    }

    @Override
    void run() {
        System.out.println("狗跑的如脱缰的野狗");
    }

    @Override
    void sleep() {
        super.sleep();
    }
    void cry(){
        System.out.println("狗会汪汪叫");
    }
}


public class DogTest {
    public static void main(String[] args) {
        Dog dog = new Dog();
        dog.eat();
        dog.run();
        dog.sleep();
        dog.cry();
    }
}
复制代码

 



第二题:
1.定义一个Phone抽象类,包含如下方法:
普通方法: call() 输出:"打电话"
普通方法: sendMessage() 输出:"发短信"
抽象方法: playGame();


2.定义一个IPhone类,继承Phone类
重写sendMessage()方法,输出:"发彩信"
实现playGame()方法,输出:"打王者农药"
定义自己特有的行为 :
siri() 打印"人工智障"

3.定义测试类IPhoneTest, 创建IPhone的对象,调用方法,打印出如下语句
打电话
发彩信
打王者农药
人工智障

复制代码
public abstract class Phone {
    void call(){
        System.out.println("打电话");
    }
    void sendMessage(){
        System.out.println("发短信");
    }
     abstract void playGame();
}

public class IPhone extends Phone{

    void sendMessage(){
        System.out.println("发彩信");
    }
    @Override
    void playGame() {
        System.out.println("打王者农药");
    }
    void siri(){
        System.out.println("人工助手");
    }
}

public class IphoneTest {
    public static void main(String[] args) {
        IPhone iphone = new IPhone();
        iphone.call();
        iphone.sendMessage();
        iphone.playGame();
        iphone.siri();
    }
}
复制代码

 




第三题:
1.定义Person类,包含空参、满参构造和以下成员变量:
姓名name
年龄age
生成所有成员变量set/get方法
定义方法:void printPerson(),打印出"我是山顶洞人"

2.定义Student继承于Person类,新增如下属性
学校 school
生成空参、满参构造和set/get方法
定义方法:void printStudent(),先输出"我叫XXX,我今年YYY岁,我现在的学校是:ZZZ" 再调用printPerson()方法

3.在测试类中,创建并初始化一个Student 对象 s, 调用printStudent()方法,打印出如下语句:
我叫卡特琳娜,我今年19岁,我现在的学校是:战争学院
我是山顶洞人

复制代码
public class Person {
    private String name;
    private int age;

    public Person() {
    }

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
    void printPerson(){
        System.out.println("我是山顶洞人");
    }
}
复制代码
复制代码
public class Student extends Person{
    private String School;

    public Student() {
    }

    public Student(String name, int age, String school) {
        super(name, age);
        School = school;
    }

    public String getSchool() {
        return School;
    }

    public void setSchool(String school) {
        School = school;
    }
    void printStudent(){
        System.out.println("我叫"+getName()+",我今年"+getAge()+"岁,我现在的学校是:"+getSchool());
    }
}
复制代码
public class StudentTest {
    public static void main(String[] args) {
        Student student = new Student("卡特琳娜",19,"战争学院");
            student.printStudent();
    }
}

 



第四题:
1.定义抽象类Phone,要求如下:
包含空参、满参构造和以下成员变量
品牌 brand( String 型)
生成所有成员变量set/get方法
定义抽象方法:void playMusic(String s)
2.定义类IPhone,要求如下:
继承抽象类 Phone
构造方法包括:空参构造和满参构造方法
重写抽象方法:
void playMusic(String s),要求:输出打印"XXX手机正在播放歌曲:s"
PS:XXX是Phone类中的 brand属性值,s是传入的参数
3.定义测试类TestDemo,在main方法实现以下功能:
创建并初始化一个IPhone 对象 phone,调用phone的playMusic(String s)方法,传入参数"菊花台"
打印出如下语句:
华为手机正在播放歌曲:菊花台

复制代码
public abstract class Phone {
    private String brand;

    public Phone() {
    }

    public Phone(String brand) {
        this.brand = brand;
    }

    public String getBrand() {
        return brand;
    }

    public void setBrand(String brand) {
        this.brand = brand;
    }

    abstract void playMusic(String s);
}
复制代码
复制代码
public class IPhone extends Phone{

    public IPhone() {
    }

    public IPhone(String brand) {
        super(brand);
    }

    @Override
    void playMusic(String s) {
        System.out.println(getBrand()+"手机正在播放歌曲:"+s);
    }
}
复制代码
public class IphoneTest {
    public static void main(String[] args) {
        IPhone iphone = new IPhone("华为");
        iphone.playMusic("菊花台");
    }
}

 



加强题:
=============================================================================
第五题:
1.定义一个Phone类.包含如下属性
品牌brand
价格price
生成所有成员变量set/get方法,空参构造和有参构造

2.定义一个Person类,包含如下属性
姓名name
年龄age
生成所有成员变量set/get方法,空参构造和有参构造
定义一个玩手机行为 palyPhone(Phone p) 要求打印:"YYY岁的XXX正在玩手机,手机品牌是ZZZ,价格为QQQ

PS:YYY是Person类中的 age属性值,XXX是Person 类中的 name属性值,ZZZ是Phone 类中的 brand属性值,QQQ是Phone 类中的 price属性值"

3.在测试类TestDemo中,创建Person对象ren,调用ren的 palyPhone(Phone p) 方法,打印出
"40岁的罗永浩正在玩手机,手机品牌是小米,价格为2999"
ps:参数p需要自行创建并初始化变量brand与 price

复制代码
public class Phone {
    private String brand;
    private double price;

    public double getPrice() {
        return price;
    }

    public void setPrice(double price) {
        this.price = price;
    }

    public Phone() {
    }

    public Phone(String brand) {
        this.brand = brand;
    }

    public String getBrand() {
        return brand;
    }

    public void setBrand(String brand) {
        this.brand = brand;
    }

}
复制代码
复制代码
public class Person extends Phone{
    private String name;
    private int age;

    public Person() {
    }



    public Person(String brand, String name, int age) {
        super(brand);
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
    void printPerson(){
        System.out.println("我是山顶洞人");
    }
    void  palyPhone(double p){
        Phone phone = new Phone() ;
        phone.setPrice(p);

        System.out.println(age+"岁的"+name+"正在玩手机,手机品牌是"+getBrand()+"价格为:"+getPrice());
    }
}
复制代码
复制代码
public class TestDemo {
    public static void main(String[] args) {
        Person ren = new Person("小米","罗永浩",40);

        ren.palyPhone(2999);
    }
}
复制代码

???

 

 

第六题:
1.定义抽象类Study,要求如下:
包含空参、满参构造和以下成员方法
定义抽象方法:void stu(Phone p);
定义普通方法: void info1() 打印"好好学习,天天向上"
定义普通方法: void info2() 打印"键盘敲烂,月薪过万"




2.定义类Phone,要求如下:
包含空参、满参构造和以下成员变量
品牌 brand
价格 price
生成所有成员变量set/get方法
定义方法:void printPhone(),打印出Phone的具体信息,如"XXX手机,价格YYY"
ps: XXX为Phone类的brand属性 yyy为Phone类的price属性

3.定义类Student,包含空参、满参构造和以下成员变量
姓名 name(String 型)
年龄 age(int型)
生成所有成员变量set/get方法
定义成员方法:void studying(Learn le),要求:
1.输出“yyy岁的xxxx学习中”,
2.然后在方法内通过传入的Learnd对象le依次调用info1(),info2(),stu(Phone p)方法
ps: yyy为Student类中的age方法,xxxx为Student类中的name方法,
ps: Learn继承于Study类,需要实现stu(Phone p)抽象方法,实现要求:调用参数p的printPhone()方法;

4.定义测试类中,创建并初始化一个Student 对象 s, 调用studying(Learn le)方法,打印出如下语句:
15岁的关晓彤学习中
好好学习,天天向上
键盘敲烂,月薪过万
华为手机,价格1999

复制代码
public class Phone {
    private String brand;
    private double price;

    public double getPrice() {
        return price;
    }

    public void setPrice(double price) {
        this.price = price;
    }

    public Phone() {
    }

    public Phone(String brand) {
        this.brand = brand;
    }

    public String getBrand() {
        return brand;
    }

    public void setBrand(String brand) {
        this.brand = brand;
    }
    void printPhone(){
        System.out.println(brand+"品牌的手机"+"价格为:"+price);
    }
}
复制代码
复制代码
public class Student extends Learn{
    private String name;
    private int age;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
    void studying(Learn le){
        le.info1();
        le.info2();
        le.studying();
        System.out.println(age+"的"+name+"学习中");
    }

    @Override
    void stu(Phone p) {

    }
}
复制代码
复制代码
public abstract class Study extends Phone{
    public Study() {
    }
  abstract   void stu(Phone p);
    void info1(){
        System.out.println("好好学习天天向上");

    }
    void info2(){
        System.out.println("键盘敲烂,月薪过万");

    }

}
复制代码
复制代码
public class Person extends Phone{
    private String name;
    private int age;

    public Person() {
    }



    public Person(String brand, String name, int age) {
        super(brand);
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
    void printPerson(){
        System.out.println("我是山顶洞人");
    }
}
复制代码
复制代码
public class Learn extends Study{

    @Override
    void stu(Phone p) {

    }

    @Override
    public void studying() {

    }
}
复制代码
public class TestDemo {
    public static void main(String[] args) {
        Student s = new Student();
        s.stu("华为",1999);
    }
}
posted @ 2020-10-21 08:37  小朋-  阅读(68)  评论(0)    收藏  举报