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空对象
版权声明:本文标题:java空对象 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://it.en369.cn/IT/1694653554a254569.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论