1、java中的父类被称为超类
2、super与this不同,super不是对象的引用,它的作用是引导编译器采用父类的构造器或者方法
3、一个对象变量可以指示多种实际类型的现象被称为多态。运行时,能够自动与选择调用哪个方法的现象称为动态绑定。
例如:Manager是Employee的子类
Manager manager=new Manager();
Employee[] staff=new Employee[]
staff[0]=manager;
staff[1]=new Employee();
staff[2]=new Employee();
for(Employee e :staff){//此处的e可以指代多种实际类型
...
}
4、方法的调用
C x=new C();
x.f(param);
编译器会查看C类所有及其父类访问属性为public的f()方法,
然后根据param的类型选择对应的方法,这个过程被称为重载解析。参数不匹配时会进行类型转换,如果转换后依然没有匹配,则报错。
如果是private方法、static方法、final方法,则编译器能准确知道要调用的方法,称为静态绑定
5、使用final阻止继承
6、强制类型转换
在转换之前使用instanceof检查能否进行转换,否则可能会报ClassCastException
7、抽象类
抽象方法发挥着占位符的作用,在子类中被实现
抽象类不能被实例化,但是抽象类可以作为对象变量,接收子类对象实例。
8、protected
public:对所有类可见
protected:对本包和所有子类可见