静态变量
静态变量是该类的所有对象共享的变量任何一个该类的对象访问它时,取到的都是相同的值,同样任何一个该类的对象去修改它时,修改的也是同一个变量。
1.如何定义静态变量
访问修饰符 static 数据类型 变量名;
如何访问静态变量
类名.静态变量名
或者
对象名.静态变量名
2.那什么时候推荐使用静态变量名呢?
当我们需要让某个类的所有成员都共享一个静态变量时,就可以考虑静态变量。
例:学生类统计所有学生交多少钱
静态变量和 ,实例属性(普通属性)的区别
3.静态变量是该类所有对象共享的,而实例对象是每个对象独享的。
加上static是静态变量或静态方法
类变量也可以通过类名来访问
原因:类变量名是随着类的加载而创建,所以即使没有创建对象也可以访问
所有的对象都共享该变量,即一个对象改变这个变量,所有对象的该变量都会改变
jdk8前静态变量放在方法区里的静态域,以后的版本在堆中储存
静态方法 和静态变量相似,静态方法也是static关键字修饰的,该类中对象和方法名都能访问静态变量。 基本格式 pubilc static void 方法名(){} 静态方法和普通方法的区别:
1.静态方法不能用this和super关键字。普通方法可以
2.静态方法中只能访问到静态变量和静态方法,而普通方法都能访问,即既能访问普通成员,也可访问到静态成员。
什么时候可以使用静态方法
静态方法的使用环境-如果我们不希望创建对象,也可以调用某个方法(即当工具类使用) 这是使用静态方法就很合适
以上内容写了有关静态变量即静态方法的概念,如何定义,什么情况下适合使用,静态变量在堆中的变化,静态方法/变量和普通方法/属性的区别。