问题 单项选择题

下列关于一个类的静态成员的描述中,不正确的是()。

A.该类的对象共享其静态成员变量的值

B.静态成员变量可被该类的所有方法访问

C.该类的静态方法只能访问该类的静态成员变量

D.该类的静态数据成员变量的值不可修改

答案

参考答案:D

解析:

[分析] 静态成员的提出是为了解决数据共事的问题。实现共享有许多方法,如设置全局性的变量或对象。但是,全局变量或对象是有局限性的。

在类中,静态成员可以实现多个对象之间的数据共享,并且使用静态数据成员还不会破坏隐藏的原则,即保证了安全性。因此,静态成员是类的所有对象共享的成员,而不是某个对象的成员。

使用静态数据成员可以节省内存,因为它是所有对象所公有的,因此,对多个对象来说,静态数据成员只存储于一处,供所有对象共用。静态数据成员的值对每个对象都是一样的,但它的值是可以更新的。只要对静态数据成员的值更新一次,保证所有对象存取更新后的相同的值,这样可以提高时间效率。

静态数据成员的使用方法和注意事项如下。

1.静态数据成员在定义或说明时前面加关键字static。

2.静态成员初始化与一般数据成员初始化不同。静态数据成员初始化的格式如下:

<数据类型><类名>::<静态数据成员名>=<值>

3.静态数据成员是静态存储的,它是静态生存期,必须对它进行初始化。

4.引用静态数据成员时,采用如下格式:

<类名>::<静态成员名>

静态成员函数和静态数据成员一样,它们都属于类的静态成员,它们都不是对象成员。因此,对静态成员的引用不需要用对象名。 在静态成员函数的实现中不能直接引用类中说明的非静态成员,可以引用类中说明的静态成员。如果静态成员函数中要引用非静态成员,可通过对象来引用。

解答题
单项选择题