动手动脑3

运行 TestInherits.java 示例,观察输出,注意总结父类与子类之间构造方法的调用关系修改Parent构造方法的代码,显式调用GrandParent的另一个构造函数,注意这句调用代码是否是第一句,影响重大!

 

 

方法覆盖要求子类与父类的方法一模一样,否则就是方法重载(overload)!

 

package morexiangcheng;

public class ParentChildTest {
public static void main(String[] args) {
Parent parent = new Parent();
parent.printValue();
Child child = new Child();
child.printValue();

parent = child;
parent.printValue();

parent.myValue++;
parent.printValue();

((Child) parent).myValue++;
parent.printValue();

}
}

class Parent {
public int myValue = 100;

public void printValue() {
System.out.println("Parent.printValue(),myValue=" + myValue);
}
}

class Child extends Parent {
public int myValue = 200;

public void printValue() {
System.out.println("Child.printValue(),myValue=" + myValue);
}
}

 

posted @ 2020-10-23 20:45  不详·Christina  阅读(69)  评论(0编辑  收藏  举报