类的静态成员存在于任何对象之外,对象中不包含任何与静态数据成员有关的数据?
书上看到这句话,我觉得明显写错了,大家怎么看?
比如calculate()就包含interestRate成员
回答:
书上写的没错。书上的意思并不是类的对象无法访问到类的静态成员,而是说对象中不会存储任何类的静态成员。当对象需要访问静态成员时,先找到类本身,然后访问其中的静态成员。
所以在你的例子中,owner
、amount
是存在于对象中的,而interestRate
则存在于类中。访问此静态变量时,需要先找到类,再找到该变量。
因为一个类的静态成员是所有对象共享的,所以如果存储到每个对象中,当一个对象修改了该变量后,其他对象将无法看到修改后的结果,这与静态成员的特点是不相符的。
以上是 类的静态成员存在于任何对象之外,对象中不包含任何与静态数据成员有关的数据? 的全部内容, 来源链接: utcz.com/p/192414.html