首先,代碼(如您所提供的)無法編譯:您沒有將x,y,width和height聲明爲Rectangle的成員變量(字段)。例如。
// I'm assuming you want these private and final (I would)
private final int x, y, width, height;
替代,一個快速的黑客:
int x, y, width, height;
你也試圖打電話給你的println
線0參數的構造函數。你的類沒有0參數的構造函數;它有一個4參數的構造函數。我懷疑(如上所述)你真的想打印this
。
但是,除非你在課堂上增加一個合適的toString
方法,否則這本身並沒有多大幫助。例如: -
public String toString() {
StringBuilder sb = new StringBuilder("Rectangle: ");
sb.append("x=").append(x);
sb.append(", y=").append(y);
sb.append(", width=").append(width);
sb.append(", height=").append(height);
return sb.toString();
}
你可能要考慮實施equals()
和hashCode()
也一樣,如果你選擇使這個類不可變的(我會)。你可以ixquick *或duckduckgo *這個 - 有很多解釋。
[*]他們是搜索引擎:我不使用谷歌。
你能發佈你收到的錯誤嗎? – imkendal
您可能會混淆語言 - 至少,您是如何標記您的帖子的。'public'和'class'目前不是[JavaScript](http://stackoverflow.com/questions/245062/whats-the-difference-between-javascript-and-java)關鍵字。 –
您正在調用Rectangle的構造函數中的Rectangle構造函數!這是無限遞歸,這將導致StackOverflow異常 –