【发布时间】:2018-12-16 03:31:14
【问题描述】:
我是一名 Java 初学者,我不明白何时应该创建超类或子类的实例。我正在网上学习一些教程,发现几次类似以下代码:
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(); 是否有意义?
谢谢你,很抱歉这个菜鸟问题。
【问题讨论】:
-
我一直这样做。
List<Foo> myList = new ArrayList<>();。以后用什么样的列表对我来说并不重要。如果我发现LinkedList会更好,那么很容易为我切换。我只需要改变一件事。而且我可以确定我的代码仍然可以像以前一样工作,因为我只使用List接口,而ArrayList或LinkedList可能提供的没有什么特别之处。
标签: java class subclass superclass