java子父类初始化顺序
来源:互联网 发布:淘宝迅雷会员卡密 编辑:程序博客网 时间:2024/05/17 23:59
class parent{
static String name = "yajie";
static{
System.out.println("父类静态代码块:name= " + name);
}
String teacher = "老师";
{
System.out.println("父类构造代码块:teacher = " + teacher);
}
public parent(){
super();
System.out.println("父类构造方法");
}
}
class son extends parent{
static int ager = 12;
static {
System.out.println("子类静态代码块:ager = " + 12);
}
String student = "学生";
{
System.out.println("子类构造代码块:student = " + student);
}
public son(){
super();
System.out.println("子类构造方法");
}
static String name = "yajie";
static{
System.out.println("父类静态代码块:name= " + name);
}
String teacher = "老师";
{
System.out.println("父类构造代码块:teacher = " + teacher);
}
public parent(){
super();
System.out.println("父类构造方法");
}
}
class son extends parent{
static int ager = 12;
static {
System.out.println("子类静态代码块:ager = " + 12);
}
String student = "学生";
{
System.out.println("子类构造代码块:student = " + student);
}
public son(){
super();
System.out.println("子类构造方法");
}
}
public static void main(String[] args) {
new son();
}
父类静态代码块:name= yajie
子类静态代码块:ager = 12
父类构造代码块:teacher = 老师
父类构造方法
子类构造代码块:student = 学生
子类构造方法
分析顺序:1.java通过loadClass方法首先加载父类,即先按先后顺序初始化父类的静态成员变量和静态代码块
2.接着按先后顺序初始化子类静态方法和静态代码块
3.再执行子类构造方法的super();方法,如果不写也会默认执行的,执行super();会实例化父类对象即初始化父类里面的成员变量,构造代码块,然后是父类构造方法
4.返回来接着实例化子类即初始化子类的成员变量,构造代码块,最后再执行子类的构造方法
阅读全文
0 0
- java子父类初始化顺序
- java-java初始化顺序
- Java初始化顺序
- JAVA 初始化顺序
- JAVA初始化顺序
- Java程序初始化顺序
- Java初始化顺序
- [java]初始化顺序
- java变量初始化顺序
- java 初始化顺序
- Java初始化的顺序
- JAVA对象初始化顺序
- java对象初始化顺序
- JAVA 类初始化顺序
- JAVA初始化顺序
- Java 静态初始化顺序
- Java类初始化顺序
- java初始化顺序
- java 性能优化:35 个小细节,让你提升 java 代码的运行效率
- Tensorflow运作方式-综述
- SPRING事务生效需要的配置
- JavaScript实现数字配对游戏
- 微信小程序开发—(十三)可滚动视图区域 scroll-view
- java子父类初始化顺序
- mvvm设计模式之Data Binding库的使用
- 我的python学习手册1
- 通过usb线ssh连接iPhone
- SPRING-JDBC多个数据源
- MySQL中有关索引组织表的概念分析
- 以太坊开发资源
- 拖放操作之——dataTransfer对象
- jquery.param()实现数组或对象的序列化