1、多态
多态的作用就是消除类之间的耦合关系。 多态(也称为动态绑定,后期绑定或者运行时绑定)。
2、方法调用绑定
将一个方法调用同一个方法主体关联起来被称作绑定。若在程序执行前进行前进行绑定,叫做前期绑定。在运行时根据对象的类型进行绑定,后期绑定(动态绑定,运行时绑定)。机制:编译器一直不知道对象的类型,但是方法调用机制能找到正确的方法体,并加以调用。
Java中除了static和final方法,其他方法都是后期绑定,我们不必判定是否应该进行后期绑定,它会自动发生。
3、构造器调用顺序
基类的构造器总是在导出类的构造过程中被调用,按照继承层次逐渐向上链接如果没有明确指定调用某个基类的构造器,它就会默默地调用默认构造器
class Bread {
Bread() { print("Bread()"); }
}
class Cheese {
Cheese() { print("Cheese()"); }
}
class Lettuce {
Lettuce() { print("Lettuce()"); }
}
class Meal {
Meal() { print("Meal()"); }
}
class Lunch extends Meal {
Lunch() { print("Lunch()"); }
}
class PortableLunch extends Lunch {
PortableLunch() { print("PortableLunch()"); }
}
class Sandwich extends PortableLunch {
private Bread b = new Bread();
private Cheese c = new Cheese();
private Lettuce l = new Lettuce();
private Sandwich() { print("Sandwich()"); }
public static void main(String[] args) {
new Sandwich();
}
}
// 运行结果 Meal() Lunch(); PortableLunch(); Bread(); Cheese(); Lettuce(); Sandwich();