我有兩個關於Java的非常基本的問題:導入包和使用實例變量
首先,爲什麼導入java.awt。*不會導入java.awt.geom。* ? java.awt中的java.awt.geom中的所有內容都不是?我認爲是這樣,從包裝的名稱來判斷。
其次,我的教授告訴我這個矩形制造者項目的事情,直接訪問實例變量是不好的,我應該使用訪問器方法。這是爲什麼?這只是慣例嗎?例如:
Rectangle rectangle = new Rectangle(1, 2, 3, 4);
int tallness = rectangle.height; //"bad"
int tallness = rectangle.getHeight(); //"good"
這兩個都是有效的,並且按我的理解做同樣的事情。唯一的區別是前者感覺更快。
此外,爲什麼訪問者出現拼寫錯誤在本網站的拼寫檢查? (或者Chrome的拼寫檢查器)
那麼這是否意味着Rectangle類中的實例變量是公共的? –
如果你能夠以這種方式操作它們: int tallness = rectangle.height; 然後是的,他們被宣佈爲公開。通常這些將被設置爲私人,迫使您使用: int tallness = rectangle.getHeight(); –