您的位置 首页 java

Java静态变量、非静态变量、静态代码块、构造方法的执行顺序

public class A extends B {

//静态变量

static int i =1;

//静态代码块

static {

System.out.println(“A static1 i:”+i);

}

//非静态变量

int b = 1;

//静态代码块

static {

i++;

System.out.println(“A static2 i:”+i);

}

//构造方法

public A() {

super();

i++;

b++;

System.out.println(“A constructor i:”+i +” b:”+b);

}

//非静态代码块

{

i++;

b++;

System.out.println(“A !static i:”+i +” b:”+b);

}

void disPlay(){

i++;

System.out.println(“A disPlay i:”+i +” b:”+b);

}

static void staticTest(){

i++;

System.out.println(“A staticTest i:”+i );

}

void adisPlay(){

i++;

System.out.println(“A disPlay i:”+i +” b:”+b);

}

static void astaticTest(){

i++;

System.out.println(“A staticTest i:”+i );

}

public static void main(String[] args) {

A a = new A();

a.disPlay();

}

}

先试着写出运行结果,在把程序执行一遍,如果你的答案与运行结果一致,说明你已经理解了它们的执行顺序。

试着把 静态变量与静态代码块的顺序颠倒一下看看又是什么结果?


文章来源:智云一二三科技

文章标题:Java静态变量、非静态变量、静态代码块、构造方法的执行顺序

文章地址:https://www.zhihuclub.com/179970.shtml

关于作者: 智云科技

热门文章

网站地图