Java数据初始化顺序
来源:互联网 发布:同志软件blued 编辑:程序博客网 时间:2024/05/20 11:46
Java数据初始化的顺序是首先static(如果它们尚未由前一次对象创建过程初始化),接着是非static 对象。
在这里有必要总结一下对象的创建过程。请考虑一个名为Dog 的类:
(1) 类型为Dog 的一个对象首次创建时,或者Dog 类的static 方法/static 字段首次访问时,Java 解释器必须找到Dog.class(在事先设好的类路径里搜索)。
(2) 找到Dog.class 后(它会创建一个Class 对象,这将在后面学到),它的所有static 初始化模块都会运行。因此,static 初始化仅发生一次——在Class 对象首次载入的时候。
(3) 创建一个new Dog()时,Dog 对象的构建进程首先会在内存堆(Heap)里为一个Dog 对象分配足够多的存储空间。
(4) 这种存储空间会清为零,将Dog 中的所有基本类型设为它们的默认值(零用于数字,以及boolean 和char 的等价设定)。
(5) 进行字段定义时发生的所有初始化都会执行。
(6) 执行构建器。
阅读全文
0 0
- Java数据初始化顺序
- java-java初始化顺序
- Thinking in Java之静态数据初始化顺序
- java类中数据成员初始化的顺序
- Java初始化顺序
- JAVA 初始化顺序
- JAVA初始化顺序
- Java程序初始化顺序
- Java初始化顺序
- [java]初始化顺序
- java变量初始化顺序
- java 初始化顺序
- Java初始化的顺序
- JAVA对象初始化顺序
- java对象初始化顺序
- JAVA 类初始化顺序
- JAVA初始化顺序
- Java 静态初始化顺序
- 想想 快速学习的办法!
- Babel 是一个 JavaScript 编译器
- Git下载代码--git clone命令
- Qt线程详解
- 淘宝镜像
- Java数据初始化顺序
- 顺时针打印矩阵(图文详解,代码详细注释)
- 01爬虫概述
- AS(二) Android Studio连接真机
- MySQL-1.外键约束
- 16-JavaScript设计模式——责任链模式
- JavaOSC协议使用教程-以及遇到的坑(UTF-16BE中文乱码)
- c#隐藏函数 lambda表达式 泛型综合使用代码
- 推荐系统评价:NDCG方法概述