方法调用绑定
java中除了static和fianl方法(private属于final方法)是前期调用,其余的都是后期调用
多态缺陷
1、覆盖私有方法
private方法默认的是final方法。对于集成的类是屏蔽的。所有在子类中不能重载。
2、域与静态方法
是没有多态的
构造器和多态
1、调用基类的构造器,反复的递归下去,首先构造层次目录结构的根
2、按声明顺序的调用构造器的主体
3、调用导出类构造器的主体
public class Sandwich extends PortableLunch{
private Bread b = new Bread();
private Cheese c = new Cheese();
private Lettuce l = new Lettuce();
Sandwich(){System.out.println("Sandwich");}
public static void main(String[] args) {
new Sandwich(); }
}
class Meal
{ Meal() { System.out.println("Meal"); }
}
class Bread
{
Bread()
{
System.out.println("Bread");
}
}
class Cheese
{
Cheese()
{
System.out.println("Cheese");
}
}
class Lettuce
{
Lettuce()
{
System.out.println("Lettuce");
}
}
class Lunch extends Meal
{
Lunch()
{
System.out.println("Lunch");
}
}
class PortableLunch extends Lunch
{
PortableLunch()
{
System.out.println("PortableLunch");
}
}
打印输出
Meal
Lunch
PortableLunch
Bread
Cheese
Lettuce
Sandwich