Java之代码块

目录

代码块基本概念

 代码块的使用注意细节

1.静态代码块

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

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

4.代码块调用顺序 

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

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


代码块基本概念

修饰符可有可无

写的话只能是static

代码块的好处

相当于构造器的补充机制

观看代码

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

代码看起来冗余

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

如图

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

如图

 代码块的使用注意细节

1.静态代码块

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

因为类只会加载一次呐

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

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

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

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

情况1

创建对象实例

 情况2

创建子类对象

AA为Movie的子类

情况3

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

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

父类也会被加载

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

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

4.代码块调用顺序 

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

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

其实每个类的构造器

都隐藏了一段代码

super();

以及

调用本类的普通代码块和属性初始化(是按书写代码顺序调用的,所以这两不分先后)

然后才到我们写在构造器里的语句

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

7是一些小细节 

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小袁拒绝摆烂

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

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

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

打赏作者

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

抵扣说明:

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

余额充值