我是一名 C# 程序员,并已同意帮助一名炒作 Java 作业。
在一个示例中,我想创建一个扩展通用列表的类。在 C# 中,这看起来像
public class MyListClass : List<MyCustomType>
我努力了
public class MyListClass extends List<MyCustomType>
并得到错误“这里没有预期的接口”。好吧,我不是在尝试使用界面...有什么提示吗?
java.util.List
是一个接口。您需要实现它而不是扩展它。
public class MyListClass implements List<MyCustomType>{
}
你不能扩展接口。你必须实施它。但是您可以扩展其中一种实现(例如 LinkedList):
public class MyListClass extends LinkedList<MyCustomType> {
Java 不是 C++,所以忘记所有关于标准模板的事情。
您可能想要的只是一个类型化的列表:
List<MyCustomType> myList = new ArrayList<MyCustomType>();
就这样。
将“扩展通用课程”作为作业的目标是不寻常的。这在现实世界中也很不寻常。
您需要声明一个泛型类/接口
public class MyListClass<T> implements List<T> { }
或者
public interface MyListInterface<T> extends List<T> { }
或者最好的
public class MyListClass<T> extends AbstractList<T> implements List<T> { }