我正在阅读java书,我在第11章,但它没有说明如何制作这些特定的方法参数。顶部框说java.util.ArrayList:
//+ArrayList()
public ArrayList(){
}
// or is it arrayListE list = new arrayListE();
//+add(o: E): void
//+add(index: int, o: E): void
//+clear(): void
public void clear(){
}
//+contains(o: Object): boolean
//+isEmpty(): boolean
public boolean isEmpty(){
boolean get = true;
if(contains < 1){
} else {
get = false;
}
return get;
}
//+get(index: int): E
//+indexOf(o: Object): int
我浏览了整本书制作程序,然后突然谈到这些arraylists这些(o:Object)弹出方法(index:int,o:E)甚至是什么类型的E eg + get(索引: int):E ... E?请在这里帮助我以为我错过了一些页面,但我重新阅读了最后十页,它从多态到数组列表,我很好,我可以编写一个程序,但我不明白它们是什么正在询问或如何使用这些符号对这些方法进行编码。上面是我得到的和剩下的当我尝试不同的东西,如o:E - 对象:E我得到错误或为(索引:int)我将确切地说,甚至索引int num,仍然是错误。他们没有在书中解释这些简短的缩写。
答案 0 :(得分:2)
您在此处看到的只是用UML语法编写的方法签名定义。
+add(index: int, o: E): void
add
是方法的名称,+
表示它是public
。 index: int, o: E
是该方法的参数。 index
是第一个文章的名称,int
是其类型。类似地,o
是第二个参数的名称。现在E
不是这里的类型,而是指类的泛型类型参数。只要每个对象的类型相同,ArrayList
就可以保存任意类型的对象。有关泛型的更多信息,请参阅here。
最后: void
表示add
有返回类型void
,即它不会返回任何内容。
如果我们现在用Java编写这个方法,它将看起来像这样
public void add(int index, E o) {
// method body
}
您示例中的其他实例的工作方式相同。
本书以抽象的方式(使用UML)指定ArrayList
方法的签名,并希望您使用具体的Java代码实现它们。如果您需要更好地描述这些方法实际应该做什么,您可以查看Javadoc of the ArrayList class.