首页 / JAVA / Java类初始化顺序说明
Java类初始化顺序说明
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java类初始化顺序说明,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2368字,纯文字阅读大概需要4分钟。
内容图文
![Java类初始化顺序说明](/upload/InfoBanner/zyjiaocheng/681/e5d98454822d461aa5b4e231e74880e2.jpg)
一个类会有如下几个内容,类在初始化时他们是有顺序的
- 静态属性:static 开头定义的属性
- 静态方法块: static {} 圈起来的方法块
- 静态方法:static 修饰的方法(被调用才生效)
- 普通属性: 未带static定义的属性
- 普通方法块: {} 圈起来的方法块
- 普通方法: 普通方法(被调用才生效)
- 构造方法: 类名相同的方法
1.普通类
public class LifeCycle {
// 静态属性
private static String staticField = getStaticField();
// 静态方法块
static {
System.out.println(staticField);
System.out.println("静态方法块");
}
// 静态方法
public static String getStaticField() {
System.out.println("静态方法");
return "静态属性";
}
// 普通属性
private String field = getField();
// 普通方法块
{
System.out.println(field);
System.out.println("普通方法块");
}
// 普通方法
public static String getField() {
System.out.println("普通方法");
return "普通属性";
}
// 构造方法
public LifeCycle() {
System.out.println("构造方法");
}
// 主函数
public static void main(String[] argc) {
new LifeCycle();
}
}
初始化顺序如下
- 静态属性
- 静态方法块
- 普通属性
- 普通方法块
- 构造方法
2.继承
public class LifeCycleFather {
// 静态属性
private static String staticField = getStaticField();
// 静态方法块
static {
System.out.println(staticField);
System.out.println("父类静态方法块");
}
// 静态方法
public static String getStaticField() {
System.out.println("父类静态方法");
return "父类静态属性";
}
// 普通属性
private String field = getField();
// 普通方法块
{
System.out.println(field);
System.out.println("父类普通方法块");
}
// 普通方法
public static String getField() {
System.out.println("父类普通方法");
return "父类普通属性";
}
// 构造方法
public LifeCycleFather() {
System.out.println("父类构造方法");
}
}
public class LifeCycle extends LifeCycleFather{
// 静态属性
private static String staticField = getStaticField();
// 静态方法块
static {
System.out.println(staticField);
System.out.println("静态方法块");
}
// 静态方法
public static String getStaticField() {
System.out.println("静态方法");
return "静态属性";
}
// 普通属性
private String field = getField();
// 普通方法块
{
System.out.println(field);
System.out.println("普通方法块");
}
// 普通方法
public static String getField() {
System.out.println("普通方法");
return "普通属性";
}
// 构造方法
public LifeCycle() {
System.out.println("构造方法");
}
// 主函数
public static void main(String[] argc) {
new LifeCycle();
}
}
初始化顺序
- 父类静态属性
- 父类静态代码块
- 子类静态属性
- 子类静态代码块
- 父类普通属性
- 父类普通代码块
- 父类构造方法
- 子类普通属性
- 子类普通代码块
- 子类构造方法
内容总结
以上是互联网集市为您收集整理的Java类初始化顺序说明全部内容,希望文章能够帮你解决Java类初始化顺序说明所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。