作业1

public class Boat implements Vehicles {@Overridepublic void work() {System.out.println(" 过河的时候,使用小船.. ");}
}public class Horse implements Vehicles {@Overridepublic void work() {System.out.println(" 一般情况下,使用马儿前进...");}
}public class Person {private String name;private Vehicles vehicles;//在创建人对象时,事先给他分配一个交通工具public Person(String name, Vehicles vehicles) {this.name = name;this.vehicles = vehicles;}//实例化Person对象“唐僧”,要求一般情况下用Horse作为交通工具,//遇到大河时用Boat作为交通工具//这里涉及到一个编程思路,就是可以把具体的要求,封装成方法-> 这里就是编程思想//思考一个问题,如何不浪费,在构建对象时,传入的交通工具对象->动脑筋public void passRiver() {//先得到船//判断一下,当前的 vehicles 属性是null, 就获取一艘船
//        Boat boat = VehiclesFactory.getBoat();
//        boat.work();//如何防止始终使用的是传入的马 instanceOf//if (vehicles == null) {//vehicles instanceof Boat 是判断 当前的 vehicles是不是Boat//(1) vehicles = null  : vehicles instanceof Boat  => false//(2) vehicles = 马对象 :vehicles instanceof Boat  => false//(3) vehicles = 船对象 :vehicles instanceof Boat  => trueif (!(vehicles instanceof Boat)) {vehicles = VehiclesFactory.getBoat();}vehicles.work();}public void common() {//得到马儿//判断一下,当前的 vehicles 属性是null, 就获取一匹马//if (vehicles == null) {if (!(vehicles instanceof Horse)) {//这里使用的是多态vehicles = VehiclesFactory.getHorse();}//这里体现使用接口调用vehicles.work();}//过火焰山public void passFireHill() {if (!(vehicles instanceof Plane)) {//这里使用的是多态vehicles = VehiclesFactory.getPlane();}//这里体现使用接口调用vehicles.work();}
}//有Person类,有name和Vehicles属性,在构造器中为两个属性赋值public class Plane implements Vehicles {@Overridepublic void work() {System.out.println("过火焰山,使用飞机...");}
}public interface Vehicles {//有一个交通工具接口类Vehicles,有work接口public void work();
}public class VehiclesFactory {//马儿始终是同一匹private static Horse horse = new Horse(); //饿汉式private VehiclesFactory(){}//创建交通工具工厂类,有两个方法分别获得交通工具Horse和Boat//这里,我们将方法做成staticpublic static Horse getHorse() {
//        return new Horse();return horse;}public static Boat getBoat() {return new Boat();}public static Plane getPlane() {return new Plane();}
}

作业2

public class Homework01 {public static void main(String[] args) {Car c =new Car();Car c1=new Car(100);System.out.println(c);//9.0,redSystem.out.println(c1);//100.0,red}
}
class Car{double price=10;static String color="white";public String toString(){return price+"\t"+color;}public Car(){this.price=9;this.color="red";}public Car(double price){this.price=price;}
}

作业3

public class Homework02 {public static void main(String[] args) {}
}
/*
1.在Frock类中声明私有的静态属性currentNum[int类型],初始值为100000,作为衣服出厂的序列号起始值。
2.声明公有的静态方法getNextNum,作为生成上衣唯一序列号的方法。每调用一次,将currentNum增加100,并作为返回值。
3.在TestFrock类的main方法中,分两次调用getNextNum方法,获取序列号并打印输出。
4.在Frock类中声明serialNumber(序列号)属性,并提供对应的get方法;
5.在Frock类的构造器中,通过调用getNextNum方法为Frock对象获取唯一序列号,赋给serialNumber属性。
6.在TestFrock类的main方法中,分别创建三个Frock 对象,并打印三个对象的序列号,验证是否为按100递增*/
class Frock {private static  int currentNum = 100000;private int serialNumber;public Frock() {serialNumber = getNextNum();}public static int getNextNum() {currentNum += 100; //将currentNum增加100return currentNum;}public int getSerialNumber() {return serialNumber;}
}
class TestFrock {public static void main(String[] args) {System.out.println(Frock.getNextNum());//100100System.out.println(Frock.getNextNum());//100200Frock frock = new Frock();//序列号就是 100300Frock frock1 = new Frock();//序列号就是 100400Frock frock2 = new Frock();//序列号就是 100500System.out.println(frock.getSerialNumber());//100300System.out.println(frock1.getSerialNumber());//100400System.out.println(frock2.getSerialNumber());//100500}
}

作业4

public class Homework03 {public static void main(String[] args) {Animal cat = new Cat();Animal dog = new Dog();cat.shout();dog.shout();}
}
/*
按要求实现下列问题: 1min完成 -> 抽象类的使用
动物类Animal包含了抽象方法  shout();
Cat类继承了Animal,并实现方法shout,打印“猫会喵喵叫”
Dog类继承了Animal,并实现方法shout,打印“狗会汪汪叫”
在测试类中实例化对象Animal cat =new  Cat(),并调用cat的shout方法
在测试类中实例化对象Animal dog=new  Dog(),并调用dog的shout方法*/
abstract class Animal {//抽象类public abstract void shout();
}
class Cat extends Animal {@Overridepublic void shout() {System.out.println("猫会喵喵叫");}
}
class Dog extends Animal {@Overridepublic void shout() {System.out.println("狗会汪汪叫");}
}

作业5

public class Homework04 {public static void main(String[] args) {Cellphone cellphone = new Cellphone();//老韩解读//1. 匿名内部类是/*new ICalculate() {@Overridepublic double work(double n1, double n2) {return n1 + n2;}}, 同时也是一个对象他的编译类型 ICalculate, 他的运行类型就是 匿名内部类*/cellphone.testWork(new ICalculate() {@Overridepublic double work(double n1, double n2) {return n1 + n2;}}, 10, 8);//18.0cellphone.testWork(new ICalculate() {@Overridepublic double work(double n1, double n2) {return n1 * n2;}}, 10, 8);}
}
/*
1.计算器接口具有work方法,功能是运算,有一个手机类Cellphone,定义方法testWork测试计算功能,调用计算接口的work方法,
2.要求调用CellPhone对象 的testWork方法,使用上 匿名内部类*/
//编写接口
interface ICalculate {//work方法 是完成计算,但是题没有具体要求,所以自己设计//至于该方法完成怎样的计算,我们交给匿名内部类完成public double work(double n1, double n2) ;
}
class Cellphone {//老韩解读,当我们调用testWork方法时,直接传入一个实现了ICalculate接口的匿名内部类即可//该匿名内部类,可以灵活的实现work,完成不同的计算任务public void testWork(ICalculate iCalculate, double n1, double n2) {double result = iCalculate.work(n1, n2);//动态绑定System.out.println("计算后的结果是=" + result);}
}

作业6

public class Homework05 {public static void main(String[] args) {new A().f1();}
}
/*
编一个类A,在类中定义局部内部类B,B中有一个私有final常量name,有一个方法show()打印常量name。
进行测试
进阶:A中也定义一个私有的变量name,在show方法中打印测试*/
class A {private String NAME = "hello";public void f1() {class B { //局部内部类private final String NAME = "韩顺平教育";public void show() {//如果内部类和外部类的属性重名,可以同 外部类.this.属性名来指定System.out.println("NAME=" + NAME + " 外部类的name=" + A.this.NAME);}}B b = new B();b.show();}
}

作业7

public class Homework06 {public static void main(String[] args) {Person tang = new Person("唐僧", new Horse());tang.common();//一般情况下tang.passRiver();//过河tang.common();//一般情况下tang.passRiver();//过河tang.passRiver();//过河tang.passRiver();//过河//过火焰山tang.passFireHill();}
}
/*
1.有一个交通工具接口类Vehicles,有work接口
2.有Horse类和Boat类分别实现Vehicles
3.创建交通工具工厂类,有两个方法分别获得交通工具Horse和Boat
4.有Person类,有name和Vehicles属性,在构造器中为两个属性赋值
5.实例化Person对象“唐僧”,要求一般情况下用Horse作为交通工具,遇到大河时用Boat作为交通工具
6.增加一个情况,如果唐僧过火焰山, 使用 飞机 ==> 程序扩展性, 我们前面的程序结构就非常好扩展
编程 需求---->理解---->代码-->优化*/

作业8

public class Homework07 {public static void main(String[] args) {//实例化不同的car对象Car2 car2 = new Car2(60);car2.getAir().flow();Car2 car21 = new Car2(-1);car21.getAir().flow();Car2 car22 = new Car2(20);car22.getAir().flow();}
}
/*
有一个Car2类,有属性temperature(温度),车内有Air(空调)类,有吹风的功能flow,
Air会监视车内的温度,如果温度超过40度则吹冷气。如果温度低于0度则吹暖气,
如果在这之间则关掉空调。实例化具有不同温度的Car对象,调用空调的flow方法,
测试空调吹的风是否正确 . //体现 类与类的包含关系的案例 类(内部类【成员内部类】)*/
class Car2 {private double temperature;public Car2(double temperature) {this.temperature = temperature;}//Air 成员内部类class Air {public void flow() {if(temperature > 40) {System.out.println("温度大于40 空调吹冷气..");} else if(temperature < 0) {System.out.println("温度小于0 空调吹暖气..");} else {System.out.println("温度正常,关闭空调..");}}}//返回一个Air对象public Air getAir() {return new Air();}
}

作业9

public class Homework08 {public static void main(String[] args) {//演示一下枚举值得switch使用Color green = Color.GREEN;green.show();//比较一下//switch () 中,放入枚举对象//在每个case 后,直接写上在枚举类中,定义的枚举对象即可switch (green) {case YELLOW:System.out.println("匹配到黄色");break;case BLACK:System.out.println("匹配到黑色");break;default:System.out.println("没有匹配到..");}}
}/*
枚举类
创建一个Color枚举类
1.有 RED,BLUE,BLACK,YELLOW,GREEN这个五个枚举值/对象;
2.Color有三个属性redValue,greenValue,blueValue,
3.创建构造方法,参数包括这三个属性,
4.每个枚举值都要给这三个属性赋值,三个属性对应的值分别是
red:255,0,0  blue:0,0,255  black:0,0,0  yellow:255,255,0  green:0,255,0
5.定义接口,里面有方法show,要求Color实现该接口
6.show方法中显示三属性的值
7. 将枚举对象在switch语句中匹配使用*/
interface IMyInterface {public void show();
}enum Color implements IMyInterface {RED(255, 0, 0), BLUE(0, 0, 255), BLACK(0, 0, 0), YELLOW(255, 255, 0),GREEN(0, 255, 0);private int redValue;private int greenValue;private int blueValue;Color(int redValue, int greenValue, int blueValue) {this.redValue = redValue;this.greenValue = greenValue;this.blueValue = blueValue;}@Overridepublic void show() {System.out.println("属性值为" + redValue + "," + greenValue + ","
+ blueValue);}
}

第11章作业(含有知识点)相关推荐

  1. 【信息系统项目管理师】第11章-项目风险管理 知识点详细整理

    个人资料,仅供学习使用 教程:信息系统项目管理师(第3版) 修改时间--2021年10月4日 15:12:26 参考资料: 信息系统项目管理师(第3版) 题目书(2021下半年)--马军 本文包括: ...

  2. 鸟哥Linux私房菜知识点总结10到11章

    最近翻看了一本<鸟哥的Linux私房菜>.这是一本基础的书,万丈高楼平地起,会的不多但可以学.这是我整理的一些知识点,虽然很基础.希望和大家共同交流. 第10章 vim程序编辑器 按键说明 ...

  3. 《Learning Scrapy》(中文版)第11章 Scrapyd分布式抓取和实时分析

    序言 第1章 Scrapy介绍 第2章 理解HTML和XPath 第3章 爬虫基础 第4章 从Scrapy到移动应用 第5章 快速构建爬虫 第6章 Scrapinghub部署 第7章 配置和管理 第8 ...

  4. 【控制】《多智能体系统的协同群集运动控制》陈杰老师-第11章-基于邻居相关状态的多智能体非合作行为检测与隔离

    第10章 回到目录 无 代码地址:https://github.com/Jichao-Zhao/MAS_CooperativeClusterMotionControl 第11章-基于邻居相关状态的多智 ...

  5. 弟子规python编程游戏_《Python游戏趣味编程》 第11章 消灭星星

    知乎视频​www.zhihu.com 图书简介可以看这里: 童晶:<Python游戏趣味编程>新书上架了​zhuanlan.zhihu.com 消灭星星是一款非常容易上瘾的消除类游戏,只需 ...

  6. c语言第五章作业,《C语言程序设计》第五章作业.doc

    <C语言程序设计>第五章作业 窗体顶端 <C语言程序设计>第5章作业 布置日期:2012-3-15?????截止日期:2012-3-22 一. 单选题 (每小题6分,共102分 ...

  7. 在计算机系统中 外存储器必须通过,大学计算机基础第4章作业.doc

    学号 129014103 姓名 孙雍春 班级 热能与动力工程 一.单选题 1.在计算机系统中,外存储器必须通过__C___才能实现与主机的信息交换. A电缆 B 总线插槽 C接口 D插座 2.CPU中 ...

  8. MySQL性能调优与架构设计——第11章 常用存储引擎优化

    第11章 常用存储引擎优化 前言: MySQL 提供的非常丰富的存储引擎种类供大家选择,有多种选择固然是好事,但是需要我们理解掌握的知识也会增加很多.每一种存储引擎都有各自的特长,也都存在一定的短处. ...

  9. 第 11 章 装饰者设计模式

    第 11 章 装饰者设计模式 1.星巴克咖啡订单项目 星巴克咖啡订单项目(咖啡馆) 咖啡种类/单品咖啡:Espresso(意大利浓咖啡). ShortBlack. LongBlack(美式咖啡). D ...

最新文章

  1. 《系统集成项目管理工程师》必背100个知识点-61识别干系人分析的步骤
  2. SQL注入_1-6_user-agent注入
  3. 结合使用嵌入式Tomcat和Maven tomcat插件
  4. weex 在 iOS 上如何实现常见的网络缓存
  5. 斯坦福22岁辍学少年的独角兽野心:准备颠覆硅基无人车激光雷达
  6. 品优购---品优购项目规划---8.3
  7. EXCEL校验身份证号码和银行卡号
  8. http 404强制跳转到指定的网页地址
  9. python适合做嵌入式开发吗_python能做嵌入式吗
  10. Python数据分析—Pandas数据规整
  11. 烟台海边巨浪翻涌 惊涛拍岸(组图)
  12. linux从视频中提取音乐,Linux下从电影(avi)中提取声音
  13. 《碎片的最佳实践》读书笔记
  14. Python开发游戏超简单 迷你跑步游戏
  15. 深度Linux设置中文,Linux Deepin 12.12.1配置指南
  16. 定期修改网管服务器和,2013武鸣县气象局机房安全管理制度
  17. Web从入门到放弃-web的基本介绍(一)
  18. 入门ROS教程与视频汇总(kinetic)
  19. 驾考题库项目学习记录
  20. java语言输出小数点后保留一位小数

热门文章

  1. Recurrent Convolutional Neural Networks for Text Classification(中文版)
  2. STL容器之<vector>
  3. 公司情况介绍及中远期规划
  4. android 使用jks文件为apk签名
  5. 《每日一题》NO.9:不懂这个概念一定过不了面试第一关
  6. 全球直播的罗胖跨年演讲背后技术支撑故事——罗辑思维首席架构师方圆访谈
  7. 总结:K8S之服务注册与发现
  8. TokenInsight APP 来啦
  9. 找出数组中符合条件的数对的个数
  10. 最新Sir在线生成短链接源码全开源+Api接口