子类类型变量可以引用超类对象吗?
Can a subclass type variable refer to a superclass object?
在Java的class层级中,对象可以这样初始化吗?
subclass object = new superclass();
这假设 subclass 和 superclass 都有适当的构造函数,可以编译等。这种类型的对象构造可能吗?
没有。只有相反的方式。
当你有一个 class 的对象时,你可以通过相同 class 或父 class 的引用来引用它,而不是相反。这可能与 Java 无关。
否则它就没有意义。假设你有
class SuperClass {
public void method1() {};
}
class SubClass {
public void method2() {};
}
如果你这样做
SubClass object = new SuperClass();
然后
object.method2();
那么理论上应该可以编译,因为引用是SubClass类型,但是对象是SuperClass类型,所以不会有这样的方法。
在Java的class层级中,对象可以这样初始化吗?
subclass object = new superclass();
这假设 subclass 和 superclass 都有适当的构造函数,可以编译等。这种类型的对象构造可能吗?
没有。只有相反的方式。 当你有一个 class 的对象时,你可以通过相同 class 或父 class 的引用来引用它,而不是相反。这可能与 Java 无关。 否则它就没有意义。假设你有
class SuperClass {
public void method1() {};
}
class SubClass {
public void method2() {};
}
如果你这样做
SubClass object = new SuperClass();
然后
object.method2();
那么理论上应该可以编译,因为引用是SubClass类型,但是对象是SuperClass类型,所以不会有这样的方法。