类加载过程实例分析
2016-11-20 15:42
211 查看
类加载过程解析:JVM 类加载机制
先加载静态域,并赋值;加载类时先加载父类,如果该类有静态成员,先加载父类和子类静态成员;接着加载父类初始化块、方法,最后加载子类的初始化块、方法。
运行结果
In Class_A Static
Class_A()
In Static MyClass
父类–静态变量
In Class_B Static
子类–静态变量
In Class_C Static
父类–变量
父类–初始化块
Class_B()
子类–变量
子类–初始化块
Class_C()
MyClass()
先加载静态域,并赋值;加载类时先加载父类,如果该类有静态成员,先加载父类和子类静态成员;接着加载父类初始化块、方法,最后加载子类的初始化块、方法。
package com.sinojava; class Class_A { static { System.out.println("In Class_A Static"); } public Class_A() { System.out.println("Class_A()"); } } class Class_B { public static String p_StaticField = "父类--静态变量"; public String p_Field = "父类--变量"; static { System.out.println(p_StaticField); System.out.println("In Class_B Static"); } // 初始化块 { System.out.println(p_Field); System.out.println("父类--初始化块"); } // 构造器 public Class_B() { System.out.println("Class_B()"); } } class Class_C extends Class_B { // 静态变量 public static String s_StaticField = "子类--静态变量"; // 变量 public String s_Field = "子类--变量"; static { System.out.println(s_StaticField); System.out.println("In Class_C Static"); } // 初始化块 { System.out.println(s_Field); System.out.println("子类--初始化块"); } public Class_C() { super(); System.out.println("Class_C()"); } } class MyClass { static Class_A ca = new Class_A(); Class_C cc = new Class_C(); static { System.out.println("In Static MyClass"); } public MyClass() { System.out.println("MyClass()"); } public void run(){ System.out.println("kai shi"); } } public class testJiaZai{ public static void main(String[] args) { new MyClass(); } }
运行结果
In Class_A Static
Class_A()
In Static MyClass
父类–静态变量
In Class_B Static
子类–静态变量
In Class_C Static
父类–变量
父类–初始化块
Class_B()
子类–变量
子类–初始化块
Class_C()
MyClass()
相关文章推荐
- JVM类加载过程实例分析
- linux中ELF加载过程分析
- Intel平台下linux中 ELF文件动态链接的加载、解析及实例分析(二): 函数解析与卸载
- linux中ELF加载过程分析
- Intel平台下Linux中ELF文件动态链接的加载、解析及实例分析
- 概括分析elf加载过程
- 分析内核初始化时根内存盘的加载过程
- 浏览器加载、渲染和解析过程的黑箱分析
- 【视频】Symbian智能手机应用开发过程及实例分析
- 类加载过程分析
- JDBC中驱动加载的过程分析
- 实例解析-Java程序的加载过程
- 分析ELF的加载过程
- 浏览器加载、渲染和解析过程的黑箱分析
- Intel平台下Linux中 ELF文件动态链接的加载、解析及实例分析(一): 加载
- linux中ELF文件动态链接的加载、解析及实例分析(二): 函数解析与卸载
- 实例解析-Java程序的加载过程
- Jquery Ajax学习实例7-Ajax所有过程事件分析示例
- Intel平台下linux中 ELF文件动态链接的加载、解析及实例分析(二): 函数解析与卸载
- Intel平台下linux中ELF文件动态链接的加载、解析及实例分析(二): 函数解析与卸载