1 重载
同样的方法名,不同的参数,称为重载。
2 属性的默认值
如果你没有在初始化构造器中初始化属性,那么属性会被初始化为0,false或null。
3 无参数构造器
当你调用无参数的构造器,并且这个构造器体内没有初始化属性,那么所有属性会被初始化为默认值。
一旦你显示写出了一个构造器,那么,你必须调用这个构造器才能完成新建对象。如果你没写任何构造器,那么无参构造器就是这个类的构造器,该构造器继承自父类(没有继承则默认继承Object类)。
4 显示初始化
那就初始化呗
5 参数名称
别混用就好了,如果不加this关键字,方法体内部首选参数的名称。
public Employee(String name, double salary)
{
this.name = name;
this.salary = salary;
}
6 调用另一个构造器
public Employee(double s)
{
this("Employee #" + nextId, );
nextId++;
}
注意,如果要调用另一个的话,必须第一行就调用。
7 初始化块
- 在构造器里初始化属性
在声明变量的时候直接初始化
下面介绍初始化块进行初始化
“`
class Employee
{
private static int nextId;
private int id;
private String name;
private double salary;
// 初始化块
{
id = nextId;
nextId++;
}
public Employee(String n, double s)
{
name = n;
salary = s;
}
public Employee()
{
name = "";
salary = 0;
}
...
}
下面是调用构造器的步骤
1. 所有数据初始化为默认值0、false、null
2. 按照在类中声明的次序,一次执行所有属性初始化语句和初始化块
3. 嵌套执行构造器
对类的静态属性的初始化可以采用静态初始化块
static
{
Random generator = new Random();
nextId = generator.nextInt(10000);
}
8 对象析构和finalize方法
Java自动对对象回收。
如果你一定要在对象回收时候执行些什么,重写它的finalize方法吧。