簡體   English   中英

Java:當方法同名時如何實例化object

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM