2 回答

TA貢獻2041條經(jīng)驗 獲得超4個贊
事實上,類就是類型,類可以在其中保存其他類型的實例作為其定義的一部分。此類用戶定義類型可以保存其他用戶定義類型(類、枚舉)或內(nèi)置類型(int、boolean)。
鑒于您發(fā)布的示例構造函數(shù),該特定類可能會像這樣定義:
public class Book
{
private String title;
private int numberOfPages;
public Book(String title, int numberOfPages)
{
this.title = title;
this.numberOfPages = numberOfPages;
}
}
它包含用戶定義類型String(作為標準庫的一部分為您定義的類)和內(nèi)置類型int。
在嘗試獲取已聲明對象的內(nèi)容時,您正在嘗試打印它。但是,您的 print 語句正在將有關引用的信息book寫入輸出,而不是轉到實際對象的位置(引用所指向的內(nèi)容)并打印有關該信息的信息 - 沒有辦法自動執(zhí)行此操作爪哇。
相反,您將需要重寫內(nèi)置java.lang.toString()方法,如 @bkbb 所暗示的那樣,以便獲取存儲在對象中的實際信息。嘗試打印時,您需要顯式調(diào)用此方法
System.out.println(book.toString());
或者讓它作為字符串操作的一部分自動調(diào)用
System.out.println("My book is: " + book);

TA貢獻1772條經(jīng)驗 獲得超5個贊
Java中的所有類都是直接或間接派生自java.lang.Object類。您可能還想了解有關 hashCode()、toString()、equals() 方法的更多信息。
添加回答
舉報