[英]Java: How to instantiate the object when a method have the same name
基本上我的問題是:
我需要在另一個class中使用getter方法,但是相同的class名稱和方法名稱使它變得困難。
我有一個 class Class1,它有一個也名為 Class1 的方法(不幸的是,這無法更改)
public class Class1 { public ArrayList<Animal> Animals; public Class1(int capacity) { Animals = new ArrayList<>(capacity); } public ArrayList<Animal> getTheAnimals(){ return this.Animals; }
我需要在另一個class,Class2中使用getter方法。
public class Class2{ /** * instantiate a Class1 object */ Class1 c1 = new Class1(); ArrayList<Animal> Animals = c1.getTheAnimals(); }
我遇到了問題,因為我正在實例化方法(需要一個 int)而不是 class。
謝謝您的幫助。
方法public Class1(int capacity)...
是 class Class1
的構造函數。 它是唯一可用的構造函數,因此您必須提供它想要的int
參數。 如果需要,您可以定義第二個沒有參數的構造函數。
public Class1() {
Animals = new ArrayList<>();
}
這將使用默認容量實例化Animals
。
順便說一句,根據 Java 中的約定,變量應該以小寫字母開頭,所以它應該是animals
。
我認為如果您使用 class1 ieClass1 的全名而不是導入它,您的問題就可以解決。 那會解決它。
像: ,,,
Class1 c1 = new <package name>.Class1();
,,,
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.