java 代码块
代码块的使用
-
静态代码块在执行类加载的时候,仅执行一次;
- 创建对象的时候,
- 创建子类对象的时候;
- 调用类静态属性的时候;
- 类的加载,仅加载一次;
-
创建一个对象的时候,一个类的调用顺序:
- 静态代码块和静态属性,静态方法初始化,他们优先级一样,按照定义顺序执行【类加载】;
- 调用普通代码块和普通属性的初始化,他们优先级一样,按照定义顺序调用;
- 调用构造器方法:构造器方法的调用隐含了:
- super();
- 普通代码块:{} //代码块是对构造器的补充;
-
创建一个子类时,一个类的调用顺序:
-
类加载:
- 父类静态代码块和静态属性【优先级一样,按定义顺序执行】;
- 子类静态代码块和静态属性【优先级一样,按照定义顺序执行】;
- 父类普通代码块和普通属性初始化【优先级一样,按定义顺序执行】;
-
对象实例化:
- 父类构造器方法;
- 子类普通代码块和普通属性初始化【优先级一样,按照顺序执行】;
- 子类构造器方法;
-
静态代码块:只能调用静态成员【静态属性和静态方法】,普通代码块可以调用任意成员;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix