美文网首页Java
Java静态Static

Java静态Static

作者: stefanJi | 来源:发表于2017-05-10 16:24 被阅读1次

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变量在定义时必须要进行初始化

相关文章

网友评论

    本文标题:Java静态Static

    本文链接:https://www.haomeiwen.com/subject/krsgtxtx.html