方法调用绑定

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