目录
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
提示:这里可以添加本文要记录的大概内容:
本文分别探讨了static修饰成员变量以及修饰成员方法的相关应用
提示:以下是本篇文章正文内容,下面案例可供参考
一、static修饰成员变量
被static修饰的成员变量也可以叫做类变量和类成员
1.类变量不依赖于对象
(示例):
如上图所示,在这个Student类当中,变量age和name是在外面的main函数之中通过了对象的示例化创建了对象之后放进堆里面,意思是name和age的调用的前提必须要先创建对象,相反,这里的类变量String的调用不需要去创建对象而只是需要使用类名即可如下图。所以类变量不属于任何一个对象,它是每个对象共有的。
2.static成员变量的初始化
方法一:直接初始化
方法二:默认初始化(默认为null)
方法三:通过get和set方法来进行初始化
二、static修饰成员方法
类比以上的静态成员变量,静态成员方法一样的不需要依赖于对象
示例:静态的成员方法
示例:非静态的成员方法
区别一样的在于此时在外面的main函数需要调用该静态成员方法的时候不需要再去实例化对象而是直接可以通过(类名.方法)来进行使用
由以上的例子可以得出以下结论
1.在静态方法内部,不能直接使用非静态的数据成员,因为只要是非静态的数据成员都必须再在静态方法内部创建对象,完成示例化才能使用
示例:
2.静态方法中不能直接调用任何非静态方法,因为非静态方法有this参数,在静态方法调用时候无法传递this的引用,需要重新在静态方法中创建对象