Java

Java静态Static

2017-05-10  本文已影响1人  stefanJi

1 static变量--静态变量

静态变量是随着类加载时被完成初始化的,它在内存中仅有一个,且JVM也只会为他分配一次内存,同时类的所有实例都共享静态变量,可以直接通过类名来访问它

2 static方法--静态方法

静态方法可以通过类名直接调用

静态方法必须实现,也就是说它不能是抽象方法

3 static代码块--静态代码块

class Demo{
    static{
        System.out.println("Demo static code");
    }
    
    public Demo(String string) {
        System.out.println(string + " construct");
    }
}

public class Main {
    static{
        System.out.println("Main static code 1");
    }
    
    public static void main(String[] args){
        new Demo("demo1");
        new Demo("demo2");
    }
    
    static{
        System.out.println("Main static code 2");
    }
}


输出:
Main static code 1
Main static code 2
Demo static code
demo1 construct
demo2 construct

4 static的局限

  1. 只能调用static变量
  2. 只能调用static方法
  3. 不能以任何形式引用thissuper
  4. static变量在定义时必须要进行初始化
上一篇下一篇

猜你喜欢

热点阅读