static关键字
static 表示静态,是java当中的一个修饰符,可以修饰成员方法,成员变量。
static修饰成员变量
被static修饰的成员变量叫做静态变量
特点
- 被该类所有的实例化对象所共享
- 不属于对象,属于类
- 随着类的加载而加载,优先于对象存在
调用方式
- 类名调用(推荐)
- 对象名调用
静态变量时随着类的加载而加载的,是优于对象出现的
也就是说使用static修饰的变量,可以在实例化对象之前使用
静态变量在堆内存中,只有一份,哪个实例化对象需要该变量,直接去拿就可以,而不需要在每一个实例化对象中都定义一次。
如何判断一个变量是否需要使用static修饰:
就看这个变量是否需要被多个实例化对象同时使用同一个值,也就是是否需要被多个实例化对象所共享。
static修饰成员方法
被static修饰的成员方法被叫做静态方法
特点
- 多用在测试类和工具当中
- JavaBean类很少会用
调用方式
- 类名调用(推荐)
- 对象名调用
什么是工具类
- JavaBean类: 描述一类事物的类。比如:Student Teacher Dog
- 测试类:用来检查其他类是否书写正确,带有main方法,是程序的入口
- 工具类: 不是用来描述一类事物的,而是帮助我们做一些事情的类
工具类的规则:
- 类名见名知意
- 私有化构造方法
static的注意事项
- 静态方法只能访问静态比那里和静态方法
- 非静态方法可以访问静态变量或者静态方法,也可以访问非静态的成员变量和非静态的成员方法
- 静态方法中没有this关键字的
总结:
静态方法中,只能访问静态
非静态方法可以访问所有
静态方法中没有this关键字