static表示静态的意思,用来修饰成员变量和成员方法,也可以修饰代码块
被static修饰的成员变量和成员方法独立于该类的任何对象。
当前类被加载后,JVM会根据类名在运行时的静态池里找到static静态修饰的成员变量和成员方法,因此static静态修饰的成员变量和成员方法可以在任何对象创建之前访问。
用public修饰的static成员变量和成员方法其实就是全局变量和全局方法,当声明其他类的对象时,不生成static静态变量的副本,而是类的所有实例共享同一个static静态变量。
注意事项:
1.在用static修饰的【静态成员方法】中,不能使用this关键字。因为【静态成员方法】是可以通过类名来调用的,用类名调用的情况下, 是不存在对象的,而this是用来表示调用该方法的对象关键字,这里不存在对象,所以不能用
2.在static修饰的【静态成员方法中】不能使用【非静态成员变量】因为【非静态成员变量】是保存在类对象的堆区中,和类对象共存,而在【静态成员方法】的调用过程中是没有对象的,所以不能使用【非静态成员变量】
3.【静态成员方法】中可以使用【静态成员变量】
4.可以在当前【静态成员方法】中用new关键字,调用构造方法,创建一个对象,使用该对象