书上看到这句话,我觉得明显写错了,大家怎么看?
比如calculate()就包含interestRate成员
黄舟2017-04-17 12:11:10
書上寫的沒錯。書上的意思並不是類別的物件無法存取到類別的靜態成員,而是說物件中不會儲存任何類別的靜態成員。當物件需要存取靜態成員時,先找到類別本身,然後存取其中的靜態成員。
所以在你的例子中,owner
、amount
是存在於物件中的,而interestRate
則存在於類別中。存取此靜態變數時,需要先找到類,再找到該變數。
因為一個類別的靜態成員是所有物件共享的,所以如果儲存到每個物件中,當一個物件修改了該變數後,其他物件將無法看到修改後的結果,這與靜態成員的特點是不相符的。