静态成员,不管是字段还是方法都只能被隐藏,而不能被子类给覆盖。用下面的代码来示例:
-
publicclassSuperClass
- {
-
publicstaticStringstr="super";
-
publicstaticvoidupdate()
- {
-
-
System.out.println("updateinsuper"+str);
- }
- }
-
publicclassExtendingClassextendsSuperClass
- {
-
publicstaticStringstr="child";
-
-
-
publicstaticvoidmain(String[]args)
- {
-
SuperClassinstance=newExtendingClass();
- instance.update();
- System.out.println("instance.str = " + instance.str);
- }
-
publicstaticvoidupdate()
- {
-
System.out.println("updateinchild"+str);
- }
- }
运行结果:
update in super super
instance.str = super
- 当使用类名访问静态成员时,很容易理解,实际访问的都是该类中定义的静态成员,如果没有定义则访问所继承的静态成员
- 当使用对象的引用访问静态成员时,根据该引用的类型来确定所访问的是哪个类中定义的静态成员,如本例。
分享到:
相关推荐
对C++静态成员函数和静态成员变量的使用方法和内部机制进行的经验总结
在A中定义有全局变量X(或类的静态成员变量),则在动态库B中访问的X,与可执行程序C中访问的X是同一个变量还是两个不同的变量? 答案:是两个不同的变量。 2. 工程中包含动态库A,动态库B,可执行程序C。C依赖于A和...
Java中的静态变量静态方法静态块与静态类.docx
C++静态成员变量和静态成员函数C++静态成员变量和静态成员函数
C++中静态成员函数与静态成员变量(static ) 这篇介绍了静态成员函数与静态成员变量,是我的读书笔记,我希望它够简短但又比较全面,起到复习的作用。如果有一些C++知识记不清楚了,它可以帮你很快回忆起来。 复习...
静态全局变量,静态局部变量,全局变量,局部变量静态全局变量,静态局部变量,全局变量,局部变量
C++类中的静态成员变量和静态成员函数的作用
python局部变量全局变量-静态方法-实例变量静态变量代码解析。
全局变量、局部变量、静态全局变量、静态局部变量的区别
Java成员变量局部变量静态变量成员方法全局方法等概念的区别共3页.pdf.zip
静态方法和实例方法的区别主要体现在两个方面: 在外部调用静态方法时,可以使用"类名.方法名"的方式,也可以使用"对象名.方法名"的方式。而实例方法只有后面这种方式。也就是说,调用静态方法可以无需创建对象。
一般地,线程要读写类的私有成员变量,只有两种方法:将全局函数声明为类友元friend,或者使用静态的成员函数static。那非静态的成员函数呢?一般地方都说的是,不行,做不了。。。为什么不行?都是代码区的代码,...
CC++中的静态全局变量,静态局部变量,全局变量,局部变量的区别
用c++的类实现,对于c++初学者帮助较大,主要熟悉静态变量 静态方法的使用 将练习与数据结构相结合
详细地解说了static关键词,以及静态成员变量和静态成员函数
详细介绍了Java的静态成员变量、静态数据块、非静态成员变量和非静态成员变量等初始化顺序
静态成员变量在不创建类的对象的情况下,就可以使用,它被所有该类的实例所共享。 而普通非静态成员变量只能在创建了类的对象实例后才能使用,并且不是共享,而是属于具体的
数据成员可以分静态变量、非静态变量两种. 静态成员:静态类中的成员加入static修饰符,即是静态成员.可以直接使用类名+静态成员名访问此静态成员,因为静态成员存在于内存,非静态成员需要实例化才会分配内存,所以静态...