2014-04-03 41 views
0

我是java新手,請解釋一下,在超類中使用實例變量有什麼用處,因爲我們無法在方法子類中重寫它們。我們如何改變子類中超類實例變量的值,也請說明你是如何得到這個的! 。如果我們只是簡單地改變了它的價值,那麼在使用多態性超值將返回,而不是他,我們在子類中已經改變了它什麼是超類中的實例變量,以及如何在子類中更改它們的值

回答

1

實例變量在超類中的重要性在於它們將被該超類的所有子類繼承,從而減少代碼冗餘。要更改從超類設置私有實例變量的值的值,請在子類的構造函數中使用super關鍵字。在實例化後改變實例變量的值使用超類中定義的增變器(setter)方法。按照慣例,增變器方法將被命名爲setVariable()。

0

只有protectedpublic和默認(無修飾符)變量可以被修改在子類中。您無權訪問子類中的private變量。

要修改一個變量,所有你需要做的就是改變它的值,就像你在超類中一樣。但是,您不能像方法那樣覆蓋變量,因爲Java根本不支持。你所能做的就是改變他們的價值觀。

1

變量不能被覆蓋。如果在子類中聲明一個具有相同名稱的變量,它們只是不同的變量。訪問舊變量的超類中的那些方法仍然繼續讀取和寫入該變量,並且子類中的方法訪問新變量。要訪問子類中的舊變量,可以使用super.variableName構造。

相關問題