Java实例域初始化方法及顺序
2020-05-02 07:04
1181 查看
Java实例域初始化方式
1.构造器
public class Employee { private String name; private String gender; private int age; private double salary; public Employee() { this.salary = 1000.0; } public Employee(String name, String gender, int age, double salary) { this.name = name; this.gender = gender; this.age = age; this.salary = salary; } }
2.域声明
public class Employee { private String name; private String gender; private int age; private double salary = 1000.0; public Employee() { } public Employee(String name, String gender, int age, double salary) { this.name = name; this.gender = gender; this.age = age; this.salary = salary; } }
3.初始化块(initialization block)
public class Employee { private String name; private String gender; private int age; private double salary; private static String test; //静态初始化块:类第一次被加载时执行 static { System.out.println("类加载"); test = "hello world!" } //初始化块 { name = "xiao"; gender = "m"; age = 20; salary = 1000.0; System.out.println("初始化"); } @Override public String toString() { return "Employee{" + "name='" + name + '\'' + ", gender='" + gender + '\'' + ", age=" + age + ", salary=" + salary + '}'; } public static void main(String[] args) { Employee employee = new Employee(); System.out.println(employee.toString()); } }
初始化
Employee{name='xiao', gender='m', age=20, salary=1000.0}
Process finished with exit code 0
Java实例域初始化顺序
调用构造方法的具体处理步骤:
1. 如果类是第一次被使用,先执行静态初始化块
2. 所有数据域被初始化为默认值(0、false或null)
3. 按照在类声明中出现的次序,依次执行所有域初始化语句和初始化块。
4. 如果构造方法调用了其他构造方法,先执行其他方法。
5. 最后,执行构造方法。
以上就是本文的全部内容,希望对大家的学习有所帮助
您可能感兴趣的文章:
相关文章推荐
- 关于java中构造方法、实例初始化、静态初始化执行顺序
- Java初始化顺序(静态变量、静态初始化块、实例变量、实例初始化块、构造方法)
- Java初始化顺序(静态变量、静态初始化块、实例变量、实例初始化块、构造方法)...
- Java静态初始化,实例初始化以及构造方法
- Java:深度理解JAVA本身的构造器及子父类构造方法的初始化顺序
- Java类的各种成员初始化顺序如:父子类继承时的静态代码块,普通代码块,静态方法,构造方法,等先后顺序
- Java静态方法,静态变量,初始化顺序
- java 类的初始化执行顺序(包括继承、static变量及代码块,普通成员变量,构造方法)...
- java初始化顺序-this-构造方法
- java中类加载与静态变量、静态方法与静态代码块详解与初始化顺序
- Java初始化顺序,静态变量,static块,实例变量,构造器的初始化顺序
- Java类、实例的初始化顺序
- java中类的静态代码块、构造代码块、构造方法、静态成员的初始化顺序详解
- Java静态方法,静态变量,初始化顺序 static
- 基于java.util.logging实现轻量级日志记录库(增加根据当前类class初始化,修复线程池模型(javaEE)下的堆栈轨迹顺序与当前调用方法不一致问题)
- Java 五种类实例化的方法与初始化顺序
- 完全理解Java中静态代码块,静态方法,静态变量,非静态代码块,非静态变量,构造函数初始化顺序
- Java类成员变量、普通成员变量、初始化块、构造方法的初始化和执行顺序
- Java静态方法,静态变量,初始化顺序
- Java类、实例的初始化顺序