admin管理员组

文章数量:1026989

java空对象

1、定义

    空对象就是一个正常的对象,只不过你用这个对象来替代null。

2、作用

      当使用null表示缺少对象时,在每次引用前都要测试其是否为null,因此需要在代码中加入判断语句,当判断语句变多时,代码就变得杂乱,使用空对象可以减少判断的语句。

例子:

    假如有一个Person类,Person类有姓名地址等属性。还有一个Position(职位)类,职位类包含了职位名称和担任职位的人(一个Person对象)等属性。

    一般情况下是先确定有哪些职位然后再确定职位由谁担任,那么在没有确定担任人的时候,可以将Position类中的Person对象设为null,但是也可以将其设为一个空对象。

Person类:

class Person{private String name;private String address;public Person(String name,String address) {this.name = name;this.address = address;}/***Person的空对象,它是一个实在的对象,只不过域的值与其他对象不同*/public static class NullPerson extends Person implements Null{private NullPerson(){ super("None","Node");}public String toString() {return "NullPerson";}}public String toString() {return name+" "+address;}public static final Person NULL = new NullPerson();
}

Position类

class Position{private String title;private Person person;//当该职位没有人担任时,我们可以将person设为空对象,而不是null;public Position(String title,Person person) {this.title = title;this.person = person;}public Position(String title) {this.title = title;person = Person.NULL;//只设置职位而没有派任人时,将person设为空对象}public String getTitle() {return title;}public void setTitlt(String title) {this.title = title;}public Person getPerson() {//如果这个职位没有人担任,那么会返回空对象而不是nullreturn person;}public void setPerson(Person newPerson) {person = newPerson;if(person == null)person = Person.NULL; }public String toString() {return title+" "+person.toString();}
}

 

java空对象

1、定义

    空对象就是一个正常的对象,只不过你用这个对象来替代null。

2、作用

      当使用null表示缺少对象时,在每次引用前都要测试其是否为null,因此需要在代码中加入判断语句,当判断语句变多时,代码就变得杂乱,使用空对象可以减少判断的语句。

例子:

    假如有一个Person类,Person类有姓名地址等属性。还有一个Position(职位)类,职位类包含了职位名称和担任职位的人(一个Person对象)等属性。

    一般情况下是先确定有哪些职位然后再确定职位由谁担任,那么在没有确定担任人的时候,可以将Position类中的Person对象设为null,但是也可以将其设为一个空对象。

Person类:

class Person{private String name;private String address;public Person(String name,String address) {this.name = name;this.address = address;}/***Person的空对象,它是一个实在的对象,只不过域的值与其他对象不同*/public static class NullPerson extends Person implements Null{private NullPerson(){ super("None","Node");}public String toString() {return "NullPerson";}}public String toString() {return name+" "+address;}public static final Person NULL = new NullPerson();
}

Position类

class Position{private String title;private Person person;//当该职位没有人担任时,我们可以将person设为空对象,而不是null;public Position(String title,Person person) {this.title = title;this.person = person;}public Position(String title) {this.title = title;person = Person.NULL;//只设置职位而没有派任人时,将person设为空对象}public String getTitle() {return title;}public void setTitlt(String title) {this.title = title;}public Person getPerson() {//如果这个职位没有人担任,那么会返回空对象而不是nullreturn person;}public void setPerson(Person newPerson) {person = newPerson;if(person == null)person = Person.NULL; }public String toString() {return title+" "+person.toString();}
}

 

本文标签: java空对象