我已经浏览了许多关于 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。