Java之代码块

修饰符可有可无

写的话只能是static

代码块的好处

相当于构造器的补充机制

观看代码

可以发现构造器3个重载,每个重载都有同样的语句

代码看起来冗余

这时可以把相同的语句放入到一个代码块中即可

如图

当我们不管调用哪个构造器都会先执行代码块中的内容(代码块调用顺序优先于构造器)

如图

 代码块的使用注意细节3

1.静态代码块

加static修饰符的代码块,随着类的加载而执行,并且只会执行一次

因为类只会加载一次呐

2.《Java之类的加载时机(重点)》

1.创建对象实例的时候(new)

2.创建子类对象实类的时候,父类也会被加载

3.使用该类的静态成员变量/方法时,该类也会加载(以及其父类)

情况1

创建对象实例

 情况2

创建子类对象

AA为Movie的子类

情况3

调用Movie的静态方法(静态变量是同理的)

特殊当你调用子类的static方法/变量

父类也会被加载

如果是普通代码块每,创建应该对象就会调用一次

3.普通代码块,调用时机

4.代码块调用顺序 

5. 构造器隐藏中隐藏着代码块

由图可知普通代码块先执行然后构造器执行

 6.继承中父类和子类的代码块和构造器调用顺序

7是一些小细节 

代码块属性初始化是同一优先级,看顺序

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小袁拒绝摆烂

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

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

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

打赏作者

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

抵扣说明:

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

余额充值