静态代码块static{}与非静态代码块{}

* static{}:jvm 加载类时创建一次,实例化对象时不再执行
* {}:每次new()实例化对象时执行,优先级高于构造函数

public class StaticOrNotStaticCode {

public StaticOrNotStaticCode () {
System.out.println( "构造函数执行了");
}

{
System.out.println( "非静态方法块执行了");
}

static{
System.out.println( "静态方法块执行了");
}

public void test(){
System.out.println( "执行了test方法");
}
public static void main( String[] args) {
System.out.println( "main方法执行了");//执行到这里时,jvm先加载了static{},执行里面代码,然后输出这里的sysout,未执行{}
StaticOrNotStaticCode staticOrNotStaticCode = new StaticOrNotStaticCode(); //先{}然后构造函数,未static{}
staticOrNotStaticCode.test();//test()方法

StaticOrNotStaticCode staticOrNotStaticCode1 = new StaticOrNotStaticCode(); //再次先{}然后构造函数,未static{}
staticOrNotStaticCode1.test(); //test()方法

}
}


运行结果:

静态方法块执行了
main方法执行了
非静态方法块执行了
构造函数执行了
执行了test方法
非静态方法块执行了
构造函数执行了
执行了test方法

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值