java中对象的初始化与构造器

来源:互联网 发布:win10添加ubuntu启动项 编辑:程序博客网 时间:2024/05/26 20:23

例子:一个天体数据类:

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;}

0 0