Java 成员初始化过程
来源:互联网 发布:拍摄淘宝服装图片技巧 编辑:程序博客网 时间:2024/06/03 21:50
package test;public class T implements Cloneable {public static int k = 0;public static T t1 = new T("t1");public static T t2 = new T("t2");public static int i = print("i");public static int n = 99;public int j = print("j");{print("构造快");}static {print("静态块");}public T(String str) {System.out.println((++k) + ":" + str + " i=" + i + " n=" + n);++n;++i;}public static int print(String str) {System.out.println((++k) + ":" + str + " i=" + i + " n=" + n);++n;return ++i;}public static void main(String[] args) {}}
类属性初始化时虚拟机是不会声明属性的同时赋值的,它会把所有属性和方法全部声明完了再从头按代码顺序赋值。
类加载过程(静态属性、静态方法声明-----静态属性赋值、静态块)注意先父类后子类
实例化过程(普通属性、普通方法声明-----普通属性赋值、构造块----构造方法中的代码)也是先父类后子类
如果在类加载过程中调用了实例化过程(如new了本类对象),则会暂停类加载过程先执行实例化过程,执行完毕再回到类加载过程
实例化t1的时候,会进入实例化过程:普通属性j,构造快,然后才是构造方法 (可以理解为j和构造快为t1自己的东西,必须先分配好)t2同理,等静态成员初始化结束后,静态块。static final的常量称为编译期常量,初始化之前就已经有了
0 0
- Java 成员初始化过程
- java基础---java成员初始化过程
- Java中成员变量的初始化过程
- Java中的成员初始化顺序和内存分配过程
- Java类变量和成员变量初始化过程
- Java类变量和成员变量初始化过程
- java 类变量和成员变量初始化过程
- Java类变量和成员变量初始化过程
- Java类加载过程后,成员变量的初始化。
- Java类变量和成员变量初始化过程
- JAVA 成员初始化顺序和内存分配过程
- Java类变量和成员变量初始化过程
- Java 关于含有继承类的成员初始化过程讲解
- Java类成员初始化
- Java成员变量初始化
- JAVA成员变量初始化
- Java成员初始化顺序
- Java类成员初始化 .
- 匹配 解题报告
- 二、CXF 入门示例
- swift类和接口的使用
- 快速幂取模
- caffe框架翻译和理解
- Java 成员初始化过程
- 三、CXF对Interceptor拦截器的支持
- EA建模时,容易混乱的几点
- NGUI出现Shader wants normals, but the mesh UIAtlas doesn't have them
- 网页固定侧栏的做法
- 手动脱FSG壳实战
- 把二叉树打印成多行
- 四、CXF WebService中传递复杂类型对象
- Callbacks