【问题标题】:Can a subclass type variable refer to a superclass object?子类类型变量可以引用超类对象吗?
【发布时间】:2017-03-19 17:18:30
【问题描述】:

在Java的类层次结构中,一个对象可以这样初始化吗?

subclass object = new superclass();

这假设子类和超类都有适当的构造函数,可以编译等。这种类型的对象构造可能吗?

【问题讨论】:

  • 没有。不是…………

标签: java class-hierarchy


【解决方案1】:

没有。只有反过来。 当你有一个类的对象时,你可以通过同一个类或父类的引用来引用它,而不是相反。这可能与 Java 无关。 否则就没有意义了。假设你有

class SuperClass {
    public void method1() {};
}

class SubClass {
    public void method2() {};
}

如果你这样做

  SubClass object = new SuperClass();

然后

  object.method2();

那么理论上它应该可以编译,因为引用是SubClass类型的,但是对象是SuperClass类型的,所以它不会有这样的方法。

【讨论】:

    猜你喜欢
    • 2015-10-07
    • 1970-01-01
    • 1970-01-01
    • 2013-08-09
    • 1970-01-01
    • 1970-01-01
    • 2016-05-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多