对象之间的关系
继承:
1.java中的继承都是单继承,就是每个子类只能有一个父类。
2.java中可以多层继承。
3.父类中的私有变量不能被子类所继承,但是属性可以被继承。
4.方法的覆写,重写
5.当子类要调用父类的方法,用super就可以调用。
6.当子类创建实例时,父类的构造函数也会被调用!
7.supre()可以调用父类中对应参数的构造函数,必须要放在第一排。
多态
final关键字:
1.可以修饰变量,变量就变成常量。
2.可以修饰函数,函数就不能被重写。
3.可以修饰类,类就不能被继承。
PS:(注意:区分重载(在同一个类的函数只有参数的个数和类型不同)和重写(子类重新重新覆盖父类的中函数,功能的拓展))
抽象类:
1.抽象类不能实例化。(但是有构造函数)
2.专门当父类
3.子类继承了抽象类,就必须实现抽象类中的所有的抽象方法。
4.抽象类可以有实现好的方法。
5.抽象类是普通类的模板
接口:
1.接口本质就是标准。
2.只能有常量,和抽象方法(由于接口中只有常量和抽象方法,所以可以不写public final)
3.java中类可以实现多个接口
4.java接口和接口之间可以多继承
5.在实际开发中,如果既可以接口又可以抽象类,用接口,因为接口可以多实现更有利于代码的扩展性。
适配器设计模式:为了解决接口的抽象方法过多,普通实现很麻烦,就需要适配器类。
(为了实现总的设计模式,总结经验的固定方式)
多态:
1.object:是所有的类的根类,所有的都是object的子类
2.直接打印对对象实例输出的是tostring()方法的返回值,默认getClass()
3.java向下转型,必须要向上先转型。
类的设计主要是父类的设计
工厂设计模式(Factory):
耦合度:代码的耦合度越低越好;工程设计模式的好处就是解耦
代理类设计模式:保护我们的核心代码。