父类中的静态变量是按原样继承给子类,还是创建一个新变量?例如,静态计数器变量 class A 以及 class B extends A 给出相同的值(如果我们没有为 class B ) ?
class A
class B extends A
class B
ha5z0ras1#
不,静态变量的行为与非静态变量不同。如果用一个继承的类更改静态变量的值,它将影响所有其他继承的类数据。因为静态变量只创建一次。即使您正在创建多个对象,静态变量也不会一次又一次地创建。它们在开始执行时创建并存储。当您访问静态变量时,您将得到相同的变量。即如果您以b.count或c.count身份访问,您将得到相同的变量。所以只有一个变量,就不能在一个变量中分别维护两个对象的计数。
1条答案
按热度按时间ha5z0ras1#
不,静态变量的行为与非静态变量不同。如果用一个继承的类更改静态变量的值,它将影响所有其他继承的类数据。
因为静态变量只创建一次。即使您正在创建多个对象,静态变量也不会一次又一次地创建。它们在开始执行时创建并存储。当您访问静态变量时,您将得到相同的变量。即
如果您以b.count或c.count身份访问,您将得到相同的变量。所以只有一个变量,就不能在一个变量中分别维护两个对象的计数。