static修饰静态的成员,类或方法。
1.用途:
1)静态变量:
静态变量被所有对象共享,在内存中只有一个存储在方法区的副本,当且仅当在加载时初始化一次。
2)静态方法:
不依赖于任何对象可直接访问,静态方法不能访问非静态方法或变量,但是非静态方法可以访问静态方法。
3)静态内部类:
首先聊一下内部类:
内部类存在于一个类的内部,包含内部类的类叫做外部类,可以添加public,private,protect等限制,也可以声明abstract供外部类扩展。外部类可以访问内部类的所有属性和方法。访问时与访问其他类相同都要创建对象。内部类不能访问外部类的局部变量,但是可以访问常量(被final修饰)。
4)静态导包:
在import后加static,使得调用外部包的时候直接通过方法名调用而不用写前面的类名。
注意:
虽然静态方法没有this这一项,但是静态成员变量可以被类中的方法通过this来访问。