一、方便在没有建立对象的状况下来进行调用(方法/变量)java
二、static方法函数
三、static变量性能
四、static代码块优化
五、构造器实际上不是静态方法this
六、Java中的static关键字不会影响到变量或者方法的做用域3d
七、能经过this访问静态成员变量code
八、static是不容许用来修饰局部变量(Java语法的规定)对象
九、静态内部类:blog
十、静态导入继承
import static 包名.类名.静态成员变量;
import static 包名.类名.静态成员函数;
十一、代码执行结果
public class Test extends Base{ static{ System.out.println("test static"); } public Test(){ System.out.println("test constructor"); } public static void main(String[] args) { new Test(); } } class Base{ static{ System.out.println("base static"); } public Base(){ System.out.println("base constructor"); } }
代码执行结果:
public class Test { Person person = new Person("Test"); static{ System.out.println("test static"); } public Test() { System.out.println("test constructor"); } public static void main(String[] args) { new MyClass(); } } class Person{ static{ System.out.println("person static"); } public Person(String str) { System.out.println("person "+str); } } class MyClass extends Test { Person person = new Person("MyClass"); static{ System.out.println("myclass static"); } public MyClass() { System.out.println("myclass constructor"); } }
代码执行结果:
public class Test { static{ System.out.println("test static 1"); } public static void main(String[] args) { } static{ System.out.println("test static 2"); } }