java – 对超类对象的子类引用

如何使用创建超类对象的子类引用

class A { /* ... */ }

class B extends A { /* ... */ }

public class Sample {
    public static void main(String a[]){
        A a = new B();
    }
}

解决方法:

一个原因是,您可以调用子类中出现的方法,这些方法不会出现在/覆盖超类的方法中.

例如

A级(车辆)〜超类

B级(车)〜子类

Vehicle有一个名为getTopSpeed()的方法,可以在任何Vehicle上调用.
Car有一个名为getTaxDiscExpiry()的方法,它只适用于汽车,但不适用于其他车辆,如Boats.

上一篇:c# – 无法将派生类强制转换为其基类型


下一篇:c# – 派生类中的别名属性名称?