Java实例域初始化方法及顺序
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. 最后,执行构造方法。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持好吧啦网。
相关文章:
1. SpringBoot2整合Ehcache组件实现轻量级缓存管理2. Django def clean()函数对表单中的数据进行验证操作3. django中嵌套的try-except实例4. 浅谈vue实现双向事件绑定v-model的原理5. Android WebView通过动态的修改js去拦截post请求参数实例6. Admin - SpringBoot + Maven 多启动环境配置实例详解7. 如何用python写个模板引擎8. SpringBoot 启动方法run()源码解析9. spring boot集成mongodb的增删改查的示例代码10. Django结合使用Scrapy爬取数据入库的方法示例