public abstract class Demo {
public Demo()
{
this.print();
}
public abstract void print();
}
public class DemoImple extends Demo{
private int x = 10;
public DemoImple(int x)
{
this.x = x;
}
public void print() {
System.out.println("x=" + this.x);
}
}
这个case里面,最后的结果是:x=0
给出的解释是:通过子类对象来进行实例化。
不清楚的地方:
1、 new DemoImple(100); //这里不是传递了数值100吗?为什么会是0呢 ?
2、之所以有输出,是不是调用了父类,即抽象类Demo的构造方法?实际调用的子类的print() 方法?中间调用机制或是过程是怎样的?
public class CaseDemo09 {
public static void main(String[] args) {
new DemoImple(100);
}
}
吃鸡游戏