package com.tao.homework.OOP_high.homework01;/*** Create By 刘鸿涛* 2021/12/30 20:12*/
public class Homework01 {public static void main(String[] args) {Car c = new Car();  //price = 9 , color = red;Car c1 = new Car(100);  //c1.price = 100;
//      c =   9 red
//      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;}
}
package com.tao.homework.OOP_high.homework02;/*** Create By 刘鸿涛* 2021/12/30 20:28*/
public class Homework02 {public static void main(String[] args) {System.out.println(Frock.getNextNum());System.out.println(Frock.getNextNum());Frock frock = new Frock();Frock frock1 = new Frock();Frock frock2 = new Frock();System.out.println(frock.serialNumer);System.out.println(frock1.serialNumer);System.out.println(frock2.serialNumer);}
}
class Frock{ //女装static int currentNum = 100000; //衣服出厂的序列号起始值int serialNumer;    //序列号属性public int getSerialNumer(){return getNextNum();}public static int getNextNum(){currentNum = currentNum + 100;return currentNum;}public Frock(){      //无参构造器中赋值序列号serialNumer = getNextNum();}}
package com.tao.homework.OOP_high.homework03;/*** Create By 刘鸿涛* 2021/12/30 20:50*/
public class Test {public static void main(String[] args) {Animal cat = new Cat(); //编译类型Animal,运行类型 CatAnimal dog = new Dog();cat.shout();dog.shout();//输出为空}
}
abstract class Animal{abstract void shout();
}
class Cat extends Animal{@Overridevoid shout() {System.out.println("猫会喵喵叫");}
}
class Dog extends Animal{@Overridevoid shout() {System.out.println("狗会汪汪叫");}
}
package com.tao.homework.OOP_high.homework04;/*** Create By 刘鸿涛* 2021/12/30 21:01*/
public class Homework04 {public static void main(String[] args) {Cellphone cellphone = new Cellphone();cellphone.testWork();}
}
interface Computer{void work();        //接口中work方法,功能是运算
}
class Cellphone implements Computer{public void testWork(){work();}public void work(){System.out.println("手机正在工作...");}
}
package com.tao.homework.OOP_high.homework04;/*** Create By 刘鸿涛* 2021/12/30 21:08*/
public class Homework04_02 {public static void main(String[] args) {Cellphone02 cellphone02 = new Cellphone02();//解读//1.匿名内部类是/*new ICalculate() {@Overridepublic double work(double n1, double n2) {return n1 + n2;}}同时也是一个对象他的编译类型 ICalculate,他的运行类型就是 匿名内部类*/cellphone02.testWork(new ICalculate() {@Overridepublic double work(double n1, double n2) {return n1 + n2;}},10,8);cellphone02.testWork(new ICalculate() {@Overridepublic double work(double n1, double n2) {return n1 * n2;}},1,2);}
}
interface ICalculate{//work方法,是完成计算,但是题没有具体要求,所以自己设计//至于该方法完成怎样的计算,我们交给匿名内部类完成public double work(double n1,double n2);
}
class Cellphone02{//解读:当我们调用testWork方法时,直接传入一个实现ICalculate接口的匿名内部类即可//该匿名内部类,可以灵活地实现work,完成不同的计算任务public void testWork(ICalculate iCalculate,double n1, double n2){double result = iCalculate.work(n1,n2); //动态绑定System.out.println("计算后的结果是 = " + result);}}
package com.tao.homework.OOP_high.homework05;/*** Create By 刘鸿涛* 2021/12/30 21:39*/
public class Homework05 {public static void main(String[] args) {new A().f1();   //匿名对象}
}
class A{private String NAME = "A类私有变量";public void f1(){class B{        //局部内部类(在方法里的类)private static final String NAME = "局部内部类常量";public void show(){System.out.println(NAME + "\n" +A.this.NAME);  //如果重名,用:外部类名.this.变量名}}B b = new B();b.show();}
}
package com.tao.homework.OOP_high.homework06;/*** Create By 刘鸿涛* 2021/12/30 22:01*/
public class Homework06 {public static void main(String[] args) {Person tang = new Person("唐僧", new Horse());    //默认交通工具为马tang.common();  //一般情况下用马tang.passRiver();   //过河情况用船}
}
interface Vehicles{ //交通工具接口void work();
}class Horse implements Vehicles{@Overridepublic void work(){System.out.println("一般情况 - 骑马");}}
class Boat implements Vehicles{@Overridepublic void work() {System.out.println("过河情况 - 划船");}
}class VehiclesFactory{      //交通工具工厂类//创建交通工具工厂类,有两个方法分别获得交通工具 Horse 和 Boat//这里,我们将方法做成staticpublic static Horse getHorse(){return new Horse();}public static Boat getBoat(){return new Boat();}}
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(){//先得到船
//        if(vehicles == null){if(!(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();}}
package com.tao.homework.OOP_high.homework07;/*** Create By 刘鸿涛* 2021/12/31 11:01*/
public class homework07 {public static void main(String[] args) {Car car = new Car(41);Car car1 = new Car(-1);Car car2 = new Car(20);car.getAir().flow();car1.getAir().flow();car2.getAir().flow();}
}
class Car{double temperature;     //温度public Car(double temperature){this.temperature = temperature;}//成员内部类class Air{               //空调类,内部类public void flow() {   //吹风功能if (temperature > 40) {System.out.println("吹冷气...");} else if (temperature < 0) {System.out.println("吹暖气...");} else {System.out.println("空调关闭");}}}//写个方法,为了创建成员内部类对象
//    public void f(){//        Air air = new Air();
//        air.flow();
//    }public Air getAir(){return new Air();   //返回一个Air对象}
}
package com.tao.homework.OOP_high.homework08;/*** Create By 刘鸿涛* 2021/12/31 11:32*/
public class Homework08 {public static void main(String[] args) {//演示一下枚举值的switch使用Color green = Color.GREEN;      //这里更换颜色,此题目的目的知识学习switch语法,不必深究green.show();//比较一下//switch()中,放入枚举对象//在每个case后,直接写上在枚举类中,定义的枚举对象即可switch (green){case YELLOW:System.out.println("匹配到黄色");green.show();break;case BLACK:System.out.println("匹配到黑色");break;default:System.out.println("没有匹配到");}}
}
enum Color implements I{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);}
}
//接口
interface I{void show();
}

Java - 面向对象高级 - 结业作业笔记相关推荐

  1. Java 面向对象高级

    3-4 面向对象高级 继承格式 课堂笔记 继承机制的引入使得类之间有了等级划分. 继承是子类继承父类的行为和特征.子类还可以拥有专属于自己属性和方法. 使用继承避免了重复定义某些类的属性和方法,代码复 ...

  2. 我的《翁恺Java面向对象程序设计》同步笔记

    边看视频边记录的,翁恺视频中的项目代码都放里面了. 一些图表关系也高清重置了. JAVA/面向对象学习笔记(1) | 轻笑Chuckle所看教程(视频):<浙江大学-翁恺-Java-面向对象程序 ...

  3. 三、Java 面向对象高级——数据结构、List、Set、Collection

    day03 [List.Set.数据结构.Collections] 主要内容 数据结构 List集合 Set集合 Collections 教学目标 能够说出List集合特点 能够说出常见的数据结构 能 ...

  4. 二、Java 面向对象高级——Collection、泛型

    day02[Collection.泛型] 主要内容 Collection集合 迭代器 增强for 泛型 教学目标 能够说出集合与数组的区别 说出Collection集合的常用功能 能够使用迭代器对集合 ...

  5. java面向对象最全入门笔记(通俗易懂,适合初学者)

    需要资料的加微信 备注01(记得备注,不然不通的) 免费领取三套价值2880元的Java资料 1.上百本Java电子书 2.Java互联网分布式应用视频资料合集 3.阿里.百度.腾讯等等大厂Java面 ...

  6. Java 面向对象的特征---学习笔记

    1.继承: 在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容, 并可以加入若干新的内容,或修改原来的方法使之更适合特殊的需要,这就是继承. ...

  7. java面向对象高级分层实例_数据库操作类

    package bdqn.studentSys.Dao.impl; /**** 学生表的数据库操作类*/ import java.sql.ResultSet; import java.sql.SQLE ...

  8. java面向对象高级分层实例_接口类

    package bdqn.studentSys.Dao;import java.util.List;import bdqn.studentSys.entity.Student;/*** 学生表的接口* ...

  9. java面向对象高级分层实例_BaseDao

    package bdqn.studentSys.Dao; /*** 数据库帮助类* @author Administrator**/ import java.sql.*; public class B ...

最新文章

  1. ubuntu nginx php7,ubuntu 16 安装php7+nginx
  2. firefox下可恶的value
  3. [NewLife.XCode]实体工厂(拦截处理实体操作)
  4. Leetcode 565. Array Nesting
  5. nfc加密卡pm3和pm5区别_小米手环4/5 NFC添加加密门禁
  6. 通过windows客户端访问
  7. 798. 差分矩阵 (二维差分)
  8. 25.TCP/IP 详解卷1 --- SNMP:简单网络管理协议
  9. TASKCTL高可用架构调度服务与安装
  10. STM8L101+si4463低功耗和自动唤醒配置
  11. 纤亿通解读—光纤通信系统工作原理
  12. 【0门槛】PR稿的自我修养
  13. 电子邮件营销的十大技巧
  14. recordcount=-1的原因以及解决方法
  15. 微服务Feign调用后开启Schedule报错No thread-bound request found: Are you referring to request attributes outsid
  16. 【论文笔记】Hierarchical Paired Channel Fusion Network for Street Scene Change Detection
  17. 四川大学计算机专业调剂,四川大学计算机学院(软件学院)研究生调剂
  18. CC++笔面试知识点
  19. python类实例化 输入参数名字 下划线_Python 用下划线作为变量前缀和后缀指定特殊变量...
  20. 「自然语言处理(NLP)」入门系列(一)初识NLP

热门文章

  1. python中魔法方法repr_python中魔法方法__str__与__repr__的区别
  2. ShutdownHook
  3. 卡方检验、T检验+F检验、方差分析、Z检验
  4. STM32F103ZET6常用引脚重映射汇总
  5. OpenCV实验(4):实现图像的联合双边滤波处理
  6. js常用方法JQ选择器
  7. 【医学+深度论文:F23】2018 symmetry Dense Fully Convolutional Segmentation of the Optic Disc and
  8. UGUI BoxCollider自适应大小
  9. 搭建自己的邮件服务器(postfix devocot cyrus-sasl) centos7 系统下配置
  10. 【车载以太网】【组织】最详国际标准组织与标准介绍