java中对象的初始化与构造器
2014-02-25 20:58
465 查看
例子:一个天体数据类:
还可以使用如下的构造器,调整初始化顺序:
复制构造器:
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; }