我是一名C#程序员,并且已经同意帮忙做一个Java做家庭作业。
在一个例子中,我想创建一个扩展通用List的类。在C#中,这看起来像
public class MyListClass : List<MyCustomType>
我试过了
public class MyListClass extends List<MyCustomType>
并获得错误“此处没有预期接口”。好吧,我不是试图使用界面......任何提示?
答案 0 :(得分:4)
java.util.List
是一个界面。你需要实现它而不是扩展它。
public class MyListClass implements List<MyCustomType>{
}
答案 1 :(得分:2)
您无法扩展界面。你必须实现它。 但您可以扩展其中一个实现(例如LinkedList):
public class MyListClass extends LinkedList<MyCustomType> {
答案 2 :(得分:1)
Java不是C ++,所以忘记所有标准模板。
您可能想要的只是一个类型的列表:
List<MyCustomType> myList = new ArrayList<MyCustomType>();
就是这样。
将“扩展通用类”作为作业的目标是不寻常的。在现实世界中这也很不寻常。
答案 3 :(得分:0)
您需要声明一个通用类/接口
public class MyListClass<T> implements List<T> { }
或者
public interface MyListInterface<T> extends List<T> { }
或者最重要的是
public class MyListClass<T> extends AbstractList<T> implements List<T> { }