我是一名 Java 初学者,我不明白何时应该创建父类(super class)或子类的实例。我正在网上学习一些教程,我发现了几次类似以下代码的内容:
package test;
class ABC{
public void myMethod(){
System.out.println("Overridden Method");
}
}
public class test extends ABC{
@Override
public void myMethod(){
System.out.println("Overriding Method");
}
public static void main(String args[]){
ABC obj = new test();
obj.myMethod();
}
}
为什么我应该使用ABC obj = new test();
而不是test = new test();
?
如果我需要一个新的 ABC 对象,那么只使用 ABC obj = new ABC();
是否有意义? ?
谢谢,很抱歉提出了新手问题。
最佳答案
让我在这里给你举个例子,假设你的父类ABC
有静态方法或实例变量
class ABC{
int a;
static void display(){
System.out.println("Parent ABC");
}
现在你有了ABC abc = new test();
。通过引用abc
,可以访问子类test
的public void myMethod()
和静态方法static void display()
ABC
类的 code>。此外,您还可以将 ABC
类的实例变量 a
与引用 abc
一起使用。
请记住,静态方法、实例变量、静态变量始终根据引用类型调用(在本例中,类型为ABC
)。然而,实例方法总是在我们引用的对象类型上调用(在本例中我们引用的是test
类对象)。
关于java - 父类(super class)对象还是子类对象?为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51228758/