码迷,mamicode.com
首页 > 编程语言 > 详细

Java中普通代码块,构造代码块,静态代码块执行顺序

时间:2019-06-23 12:45:53      阅读:96      评论:0      收藏:0      [点我收藏+]

标签:bsp   静态   ring   void   lock   dem   new   示例   顺序   

执行顺序:(优先级从高到低。)静态代码块>mian方法>构造代码块>构造方法

其中静态代码块只执行一次。构造代码块在每次创建对象是都会执行。

static块,普通代码块,构造代码块执行顺序


class A{
public A(){
System.out.println("Hello A");
}
{
System.out.println("block A");
}
static{
System.out.println("static A");
}
}


public class B extends A{

public B(){
System.out.println("Hello B");
}
{
System.out.println("Block B");
}
static{
System.out.println("static B");
}
public static void main(String[] args) {
B d = new B();
}

}

 

输出:

static A
static B
block A
Hello A
Block B
Hello B

思考一下:静态代码块> 普通代码块 > 构造代码块

示例2:

package zqd.demo;


class A{  
 
    static{  
        System.out.println("1");  
    }  
  
    public A(){  
        System.out.println("2");  
    }  
    {
    System.out.println("3");
    }
}  
  
class B extends A{  
  
{
System.out.println("c");
}
    static{  
        System.out.println("a");  
    }  
  
    public B(){  
        System.out.println("b");  
    }  
}  
  
public class Hello{  
  
    public static void main(String[] args){  
        A ab = new B();  
        ab = new B();  
    }  
  
}

输出:

1
a
3
2
c
b
3
2
c
b

Java中普通代码块,构造代码块,静态代码块执行顺序

标签:bsp   静态   ring   void   lock   dem   new   示例   顺序   

原文地址:https://www.cnblogs.com/liqiang0728/p/11072345.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!