static是一个修饰符,用于修饰类的成员方法、类的成员变量,另外可以编写static代码块来优化程序性能。
1,static修饰成员方法
static修饰的方法一般称作静态方法,由于静态方法不依赖任何对象就可以进行访问,因此对于静态方法来说,是没有this的,因为他不依赖于任何对象,既然没有对象就谈不上this了。并且由于这个特性,在非静态成员变量中不能访问类的非静态成员和非静态成员方法,因为非静态成员方法/变量都必须依赖具体的对象才能够被调用。
但是要注意的是,虽然在静态方法中不能访问非静态方法和非静态成员变量,但是在非静态成员方法中是可以访问静态成员方法/变量的。
静态变量(类变量),静态方法(类方法),static声明的属性或方法。
静态变量/类变量生命周期和类相同,在整个程序执行期间都有效。它有如下特点:
1,为该类的公共变量,属于类,被该类的所有实例共享,在类载入时被初始化
2,static变量只有一份
3,一般用“类名.类变量/方法”来调用
4,在static方法中不可直接访问非static的成员。