java 中类的加载顺序
来源:互联网 发布:ftp 21端口 编辑:程序博客网 时间:2024/06/06 13:08
出处:www.cnblogs.com/guoyuqiangf8/archive/2012/10/31/2748909.html
1、虚拟机在首次加载Java类时,会对静态初始化块、静态成员变量、静态方法进行一次初始化
2、只有在调用new方法时才会创建类的实例
3、类实例创建过程:按照父子继承关系进行初始化,首先执行父类的初始化块部分,然后是父类的构造方法;再执行本类继承的子类的初始化块,最后是子类的构造方法
4、类实例销毁时候,首先销毁子类部分,再销毁父类部分
public class Parent{ public static int t = parentStaticMethod2(); { System.out.println("父类非静态初始化块"); } static { System.out.println("父类静态初始化块"); } public Parent() { System.out.println("父类的构造方法"); } public static int parentStaticMethod() { System.out.println("父类类的静态方法"); return 10; } public static int parentStaticMethod2() { System.out.println("父类的静态方法2"); return 9; } @Override protected void finalize() throws Throwable { // TODO Auto-generated method stub super.finalize(); System.out.println("销毁父类"); } }
public class Child extends Parent{ { System.out.println("子类非静态初始化块"); } static { System.out.println("子类静态初始化块"); } public Child() { System.out.println("子类的构造方法"); } public static int childStaticMethod() { System.out.println("子类的静态方法"); return 1000; } @Override protected void finalize() throws Throwable { // TODO Auto-generated method stub super.finalize(); System.out.println("销毁子类"); }}
public class Test{ public static void main(String[] args) { // TODO Auto-generated method stub Parent.parentStaticMethod();// Child child = new Child(); }}
输出
父类的静态方法2父类静态初始化块父类类的静态方法
类中static 方法在第一次调用时加载,类中static成员按在类中出现的顺序加载。当调用静态方法2时输出
父类的静态方法2父类静态初始化块父类的静态方法2
注释掉Parent.parentStaticMethod();
去掉注释Child child = new Child();
父类的静态方法2父类静态初始化块子类静态初始化块父类非静态初始化块父类的构造方法子类非静态初始化块子类的构造方法
0 0
- java 中类的加载顺序
- Java中,类的加载顺序
- java 中类的加载顺序
- java 中类的加载顺序
- java 中类的加载顺序
- java中类的加载顺序
- java中类的加载顺序
- Java 中类的加载顺序
- JAVA中类的加载顺序
- java中类的加载顺序
- Java类中代码的加载顺序
- java 中类的加载顺序
- java中类加载的顺序
- java中类的加载顺序
- java中类的加载顺序介绍
- Java中类加载的执行顺序
- Java中类的加载顺序
- java 中类的加载顺序
- 黑马程序员_新的数据类型block
- LeetCode_Construct Binary Tree from Preorder and Inorder Traversal
- 细说socket函数
- 网站访问量的统计(Application和Session应用)
- Ubuntu14.04创建桌面快捷方式
- java 中类的加载顺序
- VS2013使用SQL2012数据库介绍
- main函数两个参数用法(转)
- 多数用户仍用老款iPhone 有望迎升级热潮
- Java高级视频_网络编程
- 浅谈spring——AOP思想(五)
- HDU 1203 I NEED A OFFER!
- JVM GC调优一则--增大Eden Space提高性能
- 算法09:快速排序——分治法Part5