Java 初始化字段方式和顺序
来源:互联网 发布:淘宝卖沉香是不是真的 编辑:程序博客网 时间:2024/06/11 13:37
Java 初始化字段方式和顺序:
类加载时直接初始化静态字段;
类加载时调用静态方法初始化静态字段;
实例化对象时,在调用构造函数之前代码块中初始化字段;
实例化对象时,在调用构造函数之时初始化字段;
初始化字段顺序1->2->3->4
代码如下:
public class Employee {//实例化对象时,在调用构造函数之前前初始化字段; private int id; // 实例化对象时初始化为0 private String name; // 实例化对象时初始化为null private boolean flag; // 实例化对象时初始化为false private static int age = 22; // 加载类时初始化为22 // 在构造函数之前初始化 { int num = 1111; // 实例化对象时初始化为1111 String name = "QA";// 实例化对象时初始化为QA setId(num); // 实例化对象时调用 SetName(name); // 实例化对象时调用 System.out.println("call instance method"); }//类加载时调用静态方法初始化静态字段; static { System.out.println("age is: " + age); age = 30; // 加载类时初始化为33 print(); // 加载类时时调用 } public void SetName(String name) { this.name = name; } public int getId() { return id; } public String getName() { return name; } public static int getAge() { return age; } public void setId(int num) { id = num; } public static void print() { System.out.println("call static method"); } public Employee() { // TODO Auto-generated constructor stub } public Employee(int id, String name) { // TODO Auto-generated constructor stub this.id = id; this.name = name; System.out.println("call constructor method"); } public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("---------------------------"); System.out.println("age is: " + Employee.getAge()); System.out.println("---------------------------"); Employee e = new Employee(); System.out.println("id is: " + e.getId()); System.out.println("name is: " + e.getName()); System.out.println("---------------------------"); Employee e2 = new Employee(2222, "Dev"); System.out.println("id is: " + e2.getId()); System.out.println("name is: " + e2.getName()); }}
运行结果:
age is: 22
call static method
---------------------------
age is: 30
---------------------------
call instance method
id is: 1111
name is: QA
---------------------------
call instance method
call constructor method
id is: 2222
name is: Dev
0 0
- Java 初始化字段方式和顺序
- Java类中字段和方法的初始化顺序(包含static)
- Java继承和初始化顺序
- java类的成员初始化顺序和初始化块顺序
- Java中的构造函数与字段初始化顺序
- 静态程序块和静态字段初始化顺序
- java 初始化的顺序和步骤
- Java类和对象的初始化顺序
- java的初始化和类装载顺序
- Java类和对象初始化顺序
- java类加载和初始化顺序
- JAVA基础教程:类加载和初始化顺序
- java中父类和子类初始化顺序
- java类加载和初始化顺序
- Java成员变量初始化和执行顺序
- Java类和对象的初始化顺序
- java类的成员初始化顺序和初始化块知识
- java类的成员初始化顺序和初始化块知识
- cocos2d-x中的导演类
- 怎么将PDF文本转变成为PPT格式
- 汇编语言学习系列 递归实现
- 汇编语言学习系列 冒泡排序实现
- 努比亚nubia Z7 Mini刷recovery教程(中文版)
- Java 初始化字段方式和顺序
- 修改pacman字体颜色
- Codeforces Round #294 (Div. 2) D
- cocos2d-x中的场景
- QT使用sizeHint()遇到的问题
- 黑马程序员——集合框架总结
- EassyMock实践 捕获参数
- Tree
- cocos2d-x中的精灵