父子类加载顺序 静态 非静态 构造方法
父类静态成员变量–》父类静态代码块–》子类静态成员变量–》子类静态代码块–》父类非静态成员变量–》父类非静态代码块–》父类构造方法–》子类非静态成员变量–》子类非非静态代码块–》子类构造方法
父类 > 子类
静态 > 非静态
变量 > 代码块 > 构造方法
public class Father{static Hello hello1=new Hello("father 静态成员变量");Hello hello2=new Hello("father 非静态成员变量");{System.out.println("father 非静态代码块");}static {System.out.println("father 静态代码块");}public Father(){System.out.println("father 构造方法");}
}public class Son extends Father{static Hello hello1=new Hello("Son 静态成员变量");Hello hello2=new Hello("Son 非静态成员变量");{System.out.println("Son 非静态代码块");}static {System.out.println("Son 静态代码块");}public Son(){System.out.println("son 构造方法");}
}public class Hello {public Hello(String name){System.out.println(name);}
}public class Test{public static void main(String[] args) {Son son = new Son();}
}
参考
本文发布于:2024-02-02 02:36:55,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170681508440851.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |