(21)静态代码块语法|特点|作用、静态初始化块、构造代码块、构造函数输出顺序练习

一、语法

  static

{

          静态代码块中的执行语句

}

二、特点

     随着类的加载而执行,而且只执行一次,并优先于主函数而执行

三、作用

     用于给类初始化的

     (区分构造代码块:给对象初始化的)

      (普通构造函数:是给对应对象初始化的)

四、例子


public class Demo {
    
	static {
		System.out.println("b");
		
	}
	public static void main(String[] args) {
		new DemoTest();
		new DemoTest();//注意静态初始化类只会在类加载时,执行一遍
		System.out.println("over");
                //DemoTest s=null;虽然创建了类变量,但是没有指向,所有相当于没用到这个类,所以DemoTest类不会被加载
                                  //Demo这个类方法执行,所以会加载Demo这个类   若main中只有这句:执行结果为  b  c
                //DemoTest s=new DemoTest();//会调用默认的构造方法,用到DemoTest类,所以会加载
 
}
	static {
		System.out.println("c");
	}
}
public class DemoTest {
    static {
        System.out.println("a");
    }

}
运行结果:b  c  a  over

六、静态初始化块、构造代码块、构造函数输出顺序练习


public class Demo {
    
	Demo(){
		System.out.println("b");
	}
	static {
		System.out.println("a");
		
	}
	{
		System.out.println("c");
	}
	Demo(int x){
		System.out.println("d");
	}
	
	
}
 别的类中调用:new Demo(4);    输出:a  c  d



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值