work08

day09作业:

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

 1 package com.hp.work08;
 2 
 3 public class Animal {
 4     public void eat(){
 5         System.out.println("要吃饭");
 6     }
 7     public void run(){
 8         System.out.println("会跑步");
 9     }
10     public void sleep(){
11         System.out.println("要睡觉");
12     }
13 }
package com.hp.work08;

public class Dog  extends Animal{
    public void eat(){
        System.out.println("狗要吃那啥");
    }
    public void run(){
        System.out.println("狗跑的如脱缰的野狗");
    }

    public void cry(){
        System.out.println("狗会汪汪叫");
    }
}
 1 package com.hp.work08;
 2 
 3 public class DogTest {
 4     public static void main(String[] args) {
 5         Dog dog=new Dog();
 6         dog.eat();
 7         dog.run();
 8         dog.sleep();
 9         dog.cry();
10 
11     }
12 }




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

 1 package com.hp.work08;
 2 
 3 public abstract class Phone {
 4     public void call(){
 5         System.out.println("打电话");
 6     }
 7     public void sendMessage(){
 8         System.out.println("发短信");
 9     }
10     public abstract void  playGame();
11 }



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

 1 package com.hp.work08;
 2 
 3 public class IPhone extends Phone {
 4     public void sendMessage(){
 5         System.out.println("发彩信");
 6     }
 7 
 8     @Override
 9     public void playGame() {
10         System.out.println("打王者农药");
11     }
12     public void siri(){
13         System.out.println("人工智障");
14 
15     }}


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

 1 package com.hp.work08;
 2 
 3 public class IPhoneTest {
 4     public static void main(String[] args) {
 5         IPhone iPhone=new IPhone();
 6         iPhone.call();
 7         iPhone.sendMessage();
 8         iPhone.playGame();
 9         iPhone.siri();
10     }
11 
12 
13 }



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

 1 package com.hp.work08;
 2 
 3 public class Person {
 4        public String name;
 5       public int age;
 6 
 7     public Person(String name, int age) {
 8         this.name = name;
 9         this.age = age;
10     }
11 
12     public Person() {
13     }
14 
15     public String getName() {
16         return name;
17     }
18 
19     public void setName(String name) {
20         this.name = name;
21     }
22 
23     public int getAge() {
24         return age;
25     }
26 
27     public void setAge(int age) {
28         this.age = age;
29     }
30     public void printPerson(){
31         System.out.println("我是山顶洞人");
32     }
33 
34 
35 }


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

 1 package com.hp.work08;
 2 
 3 public class Student extends Person{
 4     private  String school;
 5 
 6     public Student() {
 7     }
 8 
 9     public Student(String name, int age, String school) {
10         super(name, age);
11         this.school = school;
12     }
13 
14     public String getSchool() {
15         return school;
16     }
17 
18     public void setSchool(String school) {
19         this.school = school;
20     }
21    public void printStudent(){
22        System.out.println("我叫"+name+",我今年"+age+"岁,我现在的学校是:"+school);
23        printPerson();
24     }
25 }


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

 1 package com.hp.work08;
 2 
 3 public class StudentTest {
 4     public static void main(String[] args) {
 5         Student s=new Student("卡特琳娜",19,"战争学院");
 6         s.printStudent();
 7     }
 8 
 9 
10 }



第四题:
1.定义抽象类Phone,要求如下:
包含空参、满参构造和以下成员变量
品牌 brand( String 型)
生成所有成员变量set/get方法
定义抽象方法:void playMusic(String s)

 1 package com.hp.work0802;
 2 
 3 public abstract class Phone {
 4     public  String brank;
 5 
 6     public Phone() {
 7     }
 8 
 9     public Phone(String brank) {
10         this.brank = brank;
11     }
12 
13     public String getBrank() {
14         return brank;
15     }
16 
17     public void setBrank(String brank) {
18         this.brank = brank;
19     }
20   public  abstract void playMusic(String s);
21 
22 }


2.定义类IPhone,要求如下:
继承抽象类 Phone
构造方法包括:空参构造和满参构造方法
重写抽象方法:
void playMusic(String s),要求:输出打印"XXX手机正在播放歌曲:s"
PS:XXX是Phone类中的 brand属性值,s是传入的参数

package com.hp.work0802;

public class IPhone extends Phone{

    public IPhone() {
    }

    public IPhone(String brank) {
        super(brank);
    }
    public void playMusic(String s){
        brank="华为";
        System.out.println(brank+"手机正在播放歌曲:"+s);
    }
}


3.定义测试类TestDemo,在main方法实现以下功能:
创建并初始化一个IPhone 对象 phone,调用phone的playMusic(String s)方法,传入参数"菊花台"
打印出如下语句:
华为手机正在播放歌曲:菊花台

1 package com.hp.work0802;
2 
3 public class TestDome {
4     public static void main(String[] args) {
5         IPhone phone=new IPhone();
6         phone.playMusic("菊花台");
7     }
8 }




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

 1 package com.hp.work0803;
 2 
 3 public class Phone {
 4     public  String brank;
 5     public  int price;
 6 
 7     public Phone() {
 8     }
 9 
10     public Phone(String brank, int price) {
11         this.brank = brank;
12         this.price = price;
13     }
14 
15     public String getBrank() {
16         return brank;
17     }
18 
19     public void setBrank(String brank) {
20         this.brank = brank;
21     }
22 
23     public int getPrice() {
24         return price;
25     }
26 
27     public void setPrice(int price) {
28         this.price = price;
29     }
30 }


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属性值"

 1 package com.hp.work0803;
 2 
 3 public class Person extends Phone {
 4     public String name;
 5     public  int age;
 6 
 7     public Person() {
 8     }
 9 
10     public Person(String name, int age) {
11         this.name = name;
12         this.age = age;
13     }
14 
15     public String getName() {
16         return name;
17     }
18 
19     public void setName(String name) {
20         this.name = name;
21     }
22 
23     public int getAge() {
24         return age;
25     }
26 
27     public void setAge(int age) {
28         this.age = age;
29     }
30     public void  palyPhone(Phone p){
    System.out.println(age+"岁的"+name+"正在玩手机,手机品牌是"+p.brank+",价格为"+p.price);
32  } 33 }


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

 1 package com.hp.work0803;
 2 
 3 public class TestDemo {
 4     public static void main(String[] args) {
 5         Person ren=new Person("罗永浩",40);
 6
  
 9  } 10 }


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

 1 package com.hp.work0804;
 2 
 3 public abstract class Study {
 4     public Study() {
 5     }
 6 
 7     public abstract void stu(Phone p);
 8 
 9     public void info1(){
10         System.out.println("好好学习,天天向上");
11     }
12     public void info2(){
13         System.out.println("键盘敲烂,月薪过万");
14     }
15 }



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

 1 package com.hp.work0804;
 2 
 3 public class Phone {
 4     public  String brand;
 5     public  int price;
 6 
 7     public Phone() {
 8     }
 9 
10     public Phone(String brand, int price) {
11         this.brand = brand;
12         this.price = price;
13     }
14 
15     public String getBrand() {
16         return brand;
17     }
18 
19     public void setBrand(String brand) {
20         this.brand = brand;
21     }
22 
23     public int getPrice() {
24         return price;
25     }
26 
27     public void setPrice(int price) {
28         this.price = price;
29     }
30     public  void printPhone(){
31         brand="华为";
32         price=1999;
33         System.out.println(brand+"手机,价格"+price);
34     }
35 
36 }


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()方法;

 1 package com.hp.work0804;
 2 
 3 public class Student {
 4     public String name;
 5     public int age;
 6 
 7     public Student(String name, int age) {
 8         this.name = name;
 9         this.age = age;
10     }
11 
12     public Student() {
13     }
14 
15     public String getName() {
16         return name;
17     }
18 
19     public void setName(String name) {
20         this.name = name;
21     }
22 
23     public int getAge() {
24         return age;
25     }
26 
27     public void setAge(int age) {
28         this.age = age;
29     }
30    public void studying(Learn le){
31         Phone p=new Phone();
32         age=15;
33         name="关晓彤";
34        System.out.println(age+"岁的"+name+"学习中");
35        le.info1();
36        le.info2();
37        le.stu(p);
38     }
39 
40 }
package com.hp.work0804;

public abstract class Learn extends Study {

public void stu(Phone p) {
    p.printPhone();
}


}


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

 1 package com.hp.work0804;
 2 
 3 public class TestDome {
 4 
 5     public static void main(String[] args) {
 6 
 7         Student s=new Student();
 8         Learn le=new Learn() {
 9             @Override
10             public void stu(Phone p) {
11                 super.stu(p);
12             }
13         };
14         s.studying(le);
15     }
16 }
原文地址:https://www.cnblogs.com/lemperor/p/13846719.html