Java_ststic_静态块

来源:互联网 发布:绘图软件下载中文版 编辑:程序博客网 时间:2024/06/07 02:43

static块的执行顺序:

public class Dog {    public static int i = 10;    static {        i = 20;    }    public Dog() {        i = 30;    }}//public class Test {//  public static void main(String[] args) {//      System.out.println(Dog.i);// i=20//  }//}//public class Test {//  public static void main(String[] args) {//      Dog d = new Dog();//      System.out.println(Dog.i);// i=30//      System.out.println(d.i);// i=30//  }//}

加载类的时候,先完成静态变量(static i=10)的内存分配,再执行静态块(i=20),在创建对象之前就已经执行完成。


static块可访问的范围:

public class Dog {    public int i = 10;    static {        i = 20;// 报错        show();// 报错    }    public Dog() {        i = 30;    }    public void show(){    }}

static块只能访问静态变量和静态方法,因此,static内不能使用this、super关键字。

0 0
原创粉丝点击