我有一个抽象类 A
public abstract class A{
private int x;
public void doSomethingToX{...};
public int getX(){
return x;
}
我有 7 个扩展 A 的类,这 7 个类中的每一个都以相同的方式实现 doSomethingToX,所以我在 A 类中定义它。如果 B 类扩展 A,我调用 B.doSomethingToX(),然后调用 B.getX( ),我会得到 B 的 X 值还是得到 A 的值?
在我的真实程序中,我有一个 A 对象的 ArrayList
ArrayList<A> list;
我打电话给:
list.add(new B());
list.get(index).doSomethingToX();
list.get(index).getX();
我会得到 A 的 x 还是 B 的?