Java中类变量(静态变量)和类方法(静态方法)
类变量
- 类变量也叫静态变量或静态属性,是该类所有对象共享的变量任何一个该类的对象去访问它时,取得都是一样的值
- 语法:
- 访问修饰符 static 数据类型 变量名
- static 访问修饰符 数据类型 变量名
- 细节:
- 类变量随着类的加载而创建一次,所以没有创建对象实例也能访问,也就是说类变量随着类的加载就已经初始化了
- 什么时候需要类变量:当需要让某个类的所有对象都共享一个变量时,就可以考虑类变量。例如:定义学生类,定义类变量统一学生花了多少钱
- 类变量必须遵守访问权限
- 类变量与实例变量的区别:类变量时该类的所有对象实例共享的,实例变量时每个对象独享的
- 内存分析
类方法
- 类方法有叫静态方法
- 语法:
- 访问修饰符 static 数据类型 方法名{ }
- static 访问修饰符 数据类型 方法名{ }
- 细节:
- 类方法中不允许使用和对象有关的关键字。比如:super、this
- 类方中只能访问静态变量和静态方法
- 普通方法既可以访问非静态的成员,也可以访问静态的成员
- 类方法和普通方法都是随着类的加载而加载,将结构信息储存到方法去:类方法没有this参数,普通方法中有this参数
-
总结:
- 静态方法只能访问静态的成员
- 非静态成员可以访问非静态成员也可以访问静态成