[Java] Java类属性和对象属性的初始化顺序
来源:互联网 发布:广州linux运维培训 编辑:程序博客网 时间:2024/06/07 10:01
Java类属性和对象属性的初始化顺序如下:
(1) 类属性(静态变量)定义时的初始化
(2) static块中的初始代码
(3) 对象属性(非静态变量)定义时的初始化
(4) 构造方法(函数)中的初始化代码
下面举例说明:
<pre name="code" class="java">public class test {//类属性static String a = "string-a";static String b;//对象属性String c = "string-c";String d;//static块static{printStatic("before static");b = "string-b";printStatic("after static");}public static void printStatic(String title){System.out.println("***********"+title+"*****************");System.out.println("a = \"" + a + "\"");System.out.println("b = \"" + b + "\"");}//构造函数public test(){print("before constructor");d = "string -d";print("after constructor");}public void print(String title){System.out.println("************"+ title + "****************");System.out.println("a = \"" + a + "\"");System.out.println("b = \"" + b + "\"");System.out.println("c = \"" + c + "\"");System.out.println("d = \"" + d + "\"");}public static void main(String[] args) {new test();}}
上面程序的运行结果如下:
***********before static*****************a = "string-a" b = "null"***********after static*****************a = "string-a"b = "string-b"************before constructor****************a = "string-a"b = "string-b"c = "string-c"d = "null"************after constructor****************a = "string-a"b = "string-b"c = "string-c"d = "string -d"
由此可以看出类属性与对象属性的初始化顺序。
0 0
- [Java] Java类属性和对象属性的初始化顺序
- JAVA类属性和对象属性的初始化顺序
- Java类中类属性和对象属性的初始化顺序
- Java类中属性的初始化顺序
- Java类和对象的初始化顺序
- Java类和对象的初始化顺序
- java 类的加载、链接和初始化(静态属性的加载顺序)
- Java 类和对象的初始化过程及初始化顺序
- Java 类和对象的初始化过程及初始化顺序
- java类属性初始化
- Java类和对象初始化顺序
- java类的初始化和对象的创建顺序
- java属性初始化初始化
- Java基础巩固:类和对象的初始化顺序
- 关于Java中类加载时对其属性和代码块初始化顺序的研究与测试
- Java-对象未初始化打印属性、类对象
- java类与对象的初始化顺序
- Java类及对象初始化的顺序
- 内存分配-堆和栈的区别
- 一份http协议的讲解,清晰明了
- C++ 调用C++动态链接库dll
- mysql创建存储过程declare 变量时报错
- 互联网金融强势来袭 谁才是理财用户未来的《小苹果》
- [Java] Java类属性和对象属性的初始化顺序
- HDU 1879 继续畅通工程
- tomcat7的数据库连接池tomcatjdbc的25个优势
- Objective-C 里的 Alloc 和 AllocWithZone
- 【No2.】下载文件工具类
- c++之指针作为函数参数传递的问题
- 静态,动态的include指令
- 如何关闭win2003服务器端口
- 关于Java finally的一个使用