1.继承:
子类继承父类,实现代码的复用。
父类遵循李氏代换原则,向修改关闭,对扩展开放=>开闭原则
子类自动拥有父类的除私有属性和构造方法外其他属性和方法。
子类可以扩展属性和方法,也可以复写父类的方法。
2.封装:
又称为信息隐藏,是指利用抽象数据类型将数据和基于数据的操作封装在一起。
通俗讲:类中有private属性,在类外要使用该属性,只有通过public方法如get/set属性值。这些public即为接口。
3.多态:
一个.java文件只有一个public类,其他类都可以调用该类。
一定要向上转型,子类继承父类:Father father = new Son();向上转型实现多态。
4.重写-重载
方法重载:一个类中可以有多个方法具有同名,但是这些方法的参数或者参数个数或者参数类型必须不同。(函数返回类型和参数名字不参与比较:即使方法返回类型不同,也必须保证参数不同。如多边形面积计算,同名,但是参数不同。)
重写:全部相同。
5.上转型:
子类上转型为父类后,子类独有的属性方法丢失。
有重写方法,则调用重写的方法(多态)。
上转型后可调用父类的public和private成员属性。
上转型后再强制转换成子类对象,则恢复为子类。
6.接口:
克服单继承的缺点;不允许实现方法
类必实现接口的所有方法,实现时必须用public
子类自然的实现了父类实现的接口
接口可被继承,即子接口
7.抽象类:
用abstract方法
可有抽象或非抽象的方法
抽象方法只允许声明,不允许实现,不允许final和abstract同时出现
抽象类不能用new创建对象。子类必须重写父类中的抽象方法
做上转型:若抽象子类,那么子类可以重写也可以继承
8.final:无法改变的
final类不能被继承,方法默认是final的
final方法(非final类中的)不能被子类覆盖,但可以被继承
9.泛型类:
class A<E> A:泛型名,E泛型(不能是基本类型的数据)(int是基本类型,而integer不是基本类型)
10.匿名类:
把类体和对象的创建在一块。无名称是一个子类。