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 }

work08的更多相关文章

  1. java学习笔记(详细)

    java平台 1.J2SE java开发平台标准版 2.J2EE java开发平台企业版 java程序需要在虚拟机上才可以运行,换言之只要有虚拟机的系统都可以运行java程序.不同系统上要安装对应的虚 ...

随机推荐

  1. 阿里 Seata 新版本终于解决了 TCC 模式的幂等、悬挂和空回滚问题

    简介: 今天来聊一聊阿里巴巴 Seata 新版本(1.5.1)是怎么解决 TCC 模式下的幂等.悬挂和空回滚问题的. 作者:朱晋君   大家好,我是君哥. 今天来聊一聊阿里巴巴 Seata 新版本(1 ...

  2. 如何构建企业出海的"免疫力"?深入解读阿里云CDN安全能力

    简介: 随着信息技术快速发展与应用,产业数字化和智能化趋势正日益加深,企业信息安全与防护被提升到前所有未有的高度.阿里云CDN经过10多年的技术发展时间,已逐步构筑一个边缘+云的安全网络立体防护体系, ...

  3. ARMS企业级场景被集成场景介绍

    简介: ARMS企业级场景被集成场景介绍 通过本次最佳实践内容,您可以看到ARMS OpenAPI可以灵活的被集成到客户链路监控场景,并对其进行可视化图形展示监控信息. 1. 背景信息 应用实时监控服 ...

  4. [FAQ] 部署二进制运行时 go-ego/gse 如何正确加载分词字典

    运行Golang编译后二进制运行时,此时运行二进制时所在目录就是Golang源码程序认为的根目录了. 所以只需要把字典文件拷贝到与二进制所在同一目录内,然后使用 seg.LoadDict('dicti ...

  5. [Go] freecache 设置 SetGCPercent 的作用

    你需要对 freecache 有一个大致了解,freecache 的内存空间是预分配的. 假设你的程序占用了 50M 内存,那么开启 freecache 预分配 200M 空间,总共下来就是 250M ...

  6. dotnet 7 已知问题 WPF 的 TreeView 开启虚拟化之后只显示首项

    本文记录 WPF 在 dotnet 7 的一个已知问题,此问题当前已修复,只需更新 SDK 或运行时即可.使用 TreeView 在开启虚拟化之后只显示首项,其他项不显示.本文将告诉大家此问题的原因和 ...

  7. 2023 Stack Overflow 调研

    一.Programming, scripting, and markup languages 二.Databases 三.Web frameworks and technologies 四.Other ...

  8. 如何实现surging 多语言混合微服务异构

    1. 背景 作为微服务体系, 应该是不限语言的, 不管是.net.java, 都可以是一个微服务. 可以使用JAVA或者.NET 去实现业务模块,通过统一的消息模型进行传输调用因客户技术栈以多语言,多 ...

  9. 【python爬虫案例】用python爬豆瓣音乐TOP250排行榜!

    目录 一.爬虫对象-豆瓣音乐TOP250 二.python爬虫代码讲解 三.同步视频 四.获取完整源码 一.爬虫对象-豆瓣音乐TOP250 今天我们分享一期python爬虫案例讲解.爬取对象是,豆瓣音 ...

  10. 检索增强生成(RAG)实践:基于LlamaIndex和Qwen1.5搭建智能问答系统

    检索增强生成(RAG)实践:基于LlamaIndex和Qwen1.5搭建智能问答系统 什么是 RAG LLM 会产生误导性的 "幻觉",依赖的信息可能过时,处理特定知识时效率不高, ...