例子:一个天体数据类:
class Body
{
public long idNum;
public String name;
public Body orbits;
public static long nextID;
}
可以做天体对象的创建与初始化:
Body Sun = new Body();
Sun.idNum = Body.nextID++;
Sun.name = "Sol";
Sun.orbits = null;
Body earth = new Body();
earth.idNum = Body.nextID++;
earth.name = "Earth";
earth.orbits = Sun;
使用构造器:
class Body
{
public long idNum;
public String name = "<unnamed>";
public Body orbits = null;
public static long nextID = 0;
Body(){
idNum = nextID++;
}
}
初试化对象代码如下:
Body Sun = new Body();
Sun.name = "Sol";
Body earth = new Body();
earth.name = "Earth";
earth.orbits = Sun;
Body构造器代用发生在name和orbits初始化之后
还可以使用如下的构造器,调整初始化顺序:
Body(String bodyName, Body orbitdAround) {
this();
name = bodyName;
orbits = orbitdAround;
}
初始化代码如下:
Body Sun = new Body("Sol", null);
Body earth = new Body("Earth", Sun);
还可以将构造器的第二个参数设置为null:
Body(String bodyName) {
this(bodyName, null);
}
复制构造器:
Body(Body other) {
idNum = other.idNum;
name = other.name;
orbits = other.orbits;
}