我已经浏览了许多关于 java 中引用对象的链接。我仍然没有明确的想法。
superclass obj = new subclass();
obj 将如何被实例化?它有什么用?
我已经浏览了许多关于 java 中引用对象的链接。我仍然没有明确的想法。
superclass obj = new subclass();
obj 将如何被实例化?它有什么用?
obj
是一个类型为 的引用变量superclass
。这意味着这样一个变量可以指向一个类型的对象superclass
或其任何子类。在您的情况下,您正在实例化一个这样的子类,subclass
在您的示例中调用。现在你可以调用这个对象上声明的任何方法superclass
——并且subclass
保证通过继承或覆盖来拥有这些方法。
不, obj 不会被实例化(它是 type 的引用superclass
)。Subclass()
将被实例化并且 obj 指向subclass
实例。
我建议阅读本教程以了解更多关于对象和引用的含义。
引用和对象是两个不同的东西,引用可以引用其中一个对象(或者它可以为空,不引用任何地方)
对象如何初始化?
有很多方法,但在这个例子中使用新的关键词
它有什么用。
见多态性
在这里,SuperClass
将持有the的引用,SubClass
并且将执行的方法将overridden
被SubClass
执行,SubClass
否则将执行所有的方法SuperClass
。