10.13

发布时间 2023-10-13 23:47:51作者: 涨涨涨张

子类与父类有一样的方法和字段

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);
}
}

 

 

 当子类与父类拥有同名方法,调用的方法由对象决定,对象是谁,就调用谁的方法。若子类与父类由相同的字段,子类中的字段会代替或隐藏父类中的字段,若子类方法想访问父类中被隐藏的字段时,需要用super关键字来访问。若子类被当作父类来使用,则通过子类访问的字段是父类的。