在類中創建了一些公共靜態對象,并希望將它們放入 ArrayList 中。當我使用.add()方法將對象添加到列表中時,我收到一個錯誤,指出對象的類是未知的。我會用書來讓它變得容易看到。我想把我所有的書和書單都放在讀書課上,這樣我的主要班級就不會被它們填滿。這就是為什么我將它們公開和靜態的原因 - 所以我可以在需要它們時調用它們。用于編譯列表的代碼在main方法中工作得很好,但是由于某種原因,當我將其帶到Book類時,它會在bookA,bookB和bookC上給我下劃線,錯誤為“未知類”import.java.List;import.java.ArrayList;public class Book { String title; public Book(String title) { this.title = title; } public static Book bookA = new Book("Book A"); public static Book bookB = new Book("Book B"); public static Book bookC = new Book("Book C"); public static List<Book> myBooks = new ArrayList<Book>(); myBooks.add(bookA); myBooks.add(bookB); myBooks.add(bookC);}
3 回答

慕慕森
TA貢獻1856條經驗 獲得超17個贊
您的代碼需要位于方法或塊中static
static{ myBooks.add(bookA); myBooks.add(bookB); myBooks.add(bookC); } // or static method public static void main(String[] args){ myBooks.add(bookA); myBooks.add(bookB); myBooks.add(bookC); }

哈士奇WWW
TA貢獻1799條經驗 獲得超6個贊
你為什么不試試這樣的東西:
import java.util.ArrayList;
import java.util.List;
class GlobalBookcase {
public static List<Book> myBooks = new ArrayList<Book>();
public GlobalBookcase(){
myBooks.add(new Book("Book A"));
myBooks.add(new Book("Book B"));
myBooks.add(new Book("Book C"));
}
}
public class Book {
String title;
public Book(String title) {
this.title = title;
}
}

泛舟湖上清波郎朗
TA貢獻1818條經驗 獲得超3個贊
嘗試將對象的創建并將它們添加到列表中,移動到類 Book 中的方法。Java 不允許類中的隨機代碼。
例如:
myBooks.add(bookA);
myBooks.add(bookB);
myBooks.add(bookC);
他們需要在一個方法中。
添加回答
舉報
0/150
提交
取消