Java对象构造
来源:互联网 发布:淘桃美工网代码生成器 编辑:程序博客网 时间:2024/05/09 06:27
对象构造
- 静态初始化块
- 实例域初始化
- 对象初始化块
- 重载构造器
- 用
this(...)
调用另一个构造器 - 无参数构造器
在类第一次加载的时候,将会进行静态域的初始化。所有的静态初始化语句以及静态初始化块都将依照类定义的顺序执行。在调用构造器实例化一个对象时,具体的处理步骤是:
1). 所有的数据域被初始化为默认值(0、false、null)。
2). 按照在类声明中出现的次序,依次执行所有的初始化语句和初始化块。
3). 如果构造器第一行调用了第二个构造器,则执行第二个构造器的主体。
4). 执行这个构造器的主体。
import java.time.LocalDate;import java.util.Random;public class Employee { //fields private static int nextId = 1; private int id; private String name = ""; // instance field initialization private double salary; private LocalDate hireDay; // static initialization block static { Random generator = new Random(); // set nextId to a random number between 0 and 9999 nextId = generator.nextInt(10000); } // object initialization block { id = nextId; nextId++; } //overloaded constructors public Employee(String name, double salary, int year, int month, int day) { // calls the Employee(String, double) constructor this(name, salary); this.hireDay = LocalDate.of(year, month, day); } public Employee(String name, double salary) { this.name = name; this.salary = salary; } // the default constructor public Employee() { //name initialized to "" --see above //salary not explicitly set --initialized to 0 //id initialized in initialization block //hireDay not explicitly set --initialized to null } //methods public String getName() { return this.name; } public double getSalary() { return this.salary; } public LocalDate getHireDay() { return this.hireDay; } public void raiseSalary(double byPercent) { double raise = this.salary * byPercent / 100; this.salary += raise; } public void setId() { this.id = nextId; nextId++; } public static int getNextId() { return nextId; }}
0 0
- Java 子类构造对象
- java对象构造过程
- java构造对象
- Java对象构造
- java对象构造过程
- java类构造对象的构造顺序
- Java常用对象构造方法
- Java对象的构造顺序
- Java之对象构造过程
- Java--对象构造和初始化
- Java- 对象构造与初始化
- Java学习笔记【对象构造】
- Java构造函数(面向对象)
- JAVA面向对象-----构造方法
- java变量、多态、对象构造
- Java基础复习---对象构造(构造器)
- 关于Java的对象,构造器,构造方法...
- java面向对象思想之构造函数
- Android DatePickerDialog,TimePickerDialog
- Android Studio 的安装
- SSL handshake failed: SSL error: Key usage violation in ce
- C——函数指针和指针函数的区别
- 错误记录( 六)tomcat 配置图片虚拟路径不起作用
- Java对象构造
- [DPDK编程手册]21内核NIC接口
- vue 2.0入门 之 脚手架 vue-cli
- Delphi 共享对比更新 开源
- 研究生与postgraduate
- POJ1190 生日蛋糕(DFS剪枝)
- vim进阶技巧
- JZOJ 3742. 【TJOI2014】上升子序列
- 继承