java静态代码块和实例代码块

目录

一.什么是静态代码块,语法是什么?

二.static静态代码块在什么时候执行呢?

三.静态代码块有什么作用?

四.静态代码块总结

五.实例代码块

六.实例语句快在什么时候执行?

七.静态代码块和实例代码块执行顺序: 


注:使用static关键字可以定义:静态代码块

一.什么是静态代码块,语法是什么?

static {

      java语句;

      Java语句;

}

二.static静态代码块在什么时候执行呢?

类加载时执行,并且只执行一次。

静态代码块有这样的特征/特点

注意:静态代码块在类加载时执行,并且在main方法执行之前执行。

静态代码块一般是按照自上而下的顺序执行。

三.静态代码块有什么作用?

第一:静态代码块不是那么常用(不是每一个类当中都要写的东西)

第二:静态代码块这种语法机制实际上是sun公司给我们java程序员的一个特殊的时刻/时机,这个时机叫:类加载时机。

具体的业务:

项目经理说了:大家注意了,所有我们编写的程序中,只要是类加载了,请记录一下类加载的日志信息(在那年哪月那日几时几分几秒,哪个类加载到jvm中了。)

这些记录日志的代码写到哪里呢?

写到静态代码块当中。

栈:方法只要执行,会压栈(局部变量)

堆:new出来的对象都在堆中。垃圾回收器主要针对(静态变量)

方法区:类的信息,字节码信息,代码片段。(静态变量)

方法的代码片段放在方法区,但是方法执行过程当中需要的内存在栈中。

静态变量在类加载时初始化。

静态变量储存在方法区。

静态代码块在类加载时执行。

main方法执行之前实际上执行了很多代码

 

四.静态代码块总结:

到目前为止,你遇到的所有的java程序,有顺序要求的是哪些?

第一:对于一个方法来说,方法体中的代码是有顺序的,遵守自上而下的顺序执行。

第二:静态代码块1和静态代码块2是有先后顺序的。

第三:静态代码块和静态变量是有先后顺序的。

除了静态代码块之外,还有一种语句块叫做:

五.实例代码块

实例语句在类加载时并没有执行。

实例语句语法:

{

   java语句;

   java语句;

   java语句;

}

六.实例语句快在什么时候执行?

只要是构造方法执行,必然在构造方法执行之前,自动执行"实例语句块"中的代码。

实际上这也是sun公司为java程序员准备的一个特殊的时机,叫做对象构建时机。

七.静态代码块和实例代码块执行顺序: 

静态代码块在类加载时执行。

实例代码块在构造方法之前执行。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码头整点儿薯条

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值