文档章节

不可变类

非著名程序员Bla
 非著名程序员Bla
发布于 2016/05/18 18:04
字数 143
阅读 1
收藏 0
public class Name {
private String firstName;
private String lastName;
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public Name(){}
public Name(String firstName,String lastName)
{
this.firstName=firstName;
this.lastName=lastName;
}
}

public class Person {
private final Name name;
public Person(Name name)
{
//this.name=name;
this.name=new Name(name.getFirstName(), name.getLastName());//1
}
public Name getName()
{
//return name;
return new Name(name.getFirstName(), name.getLastName());//2
}
public static void main(String[] args) {
    Name name=new Name("悟空","孙");
    Person per=new Person(name);
    System.out.println(per.getName().getFirstName());
    System.out.println(per.getName().getLastName());
    name.setLastName("八戒");
    //孙 被改成 八戒 ,我们不想让它被改,怎么办? 到相应的构造器和方法中去改,见1和2
    System.out.println(per.getName().getLastName());
}
}

本文转载自:http://blog.csdn.net/yangrunkangbla/article/details/45134277

共有 人打赏支持
非著名程序员Bla
粉丝 15
博文 75
码字总数 0
作品 0
合肥
后端工程师
私信 提问

暂无文章

微服务分布式事务实现

https://www.processon.com/view/link/5b2144d7e4b001a14d3d2d30

WALK_MAN
今天
2
0
《大漠烟尘》读书笔记及读后感文章3700字

《大漠烟尘》读书笔记及读后感文章3700字: 在这个浮躁的社会里,你有多久没有好好读完一本书了? 我们总觉得自己和别人不一样,所以当看到别人身上的问题时,很少有“反求诸己”,反思自己。...

原创小博客
今天
4
0
大数据教程(9.5)用MR实现sql中的jion逻辑

上一篇博客讲解了使用jar -jar的方式来运行提交MR程序,以及通过修改YarnRunner的源码来实现MR的windows开发环境提交到集群的方式。本篇博主将分享sql中常见的join操作。 一、需求 订单数据表...

em_aaron
今天
3
0
十万个为什么之什么是resultful规范

起源 越来越多的人开始意识到,网站即软件,而且是一种新型的软件。这种"互联网软件"采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高延时(high latency)、高并发等特点...

尾生
今天
3
0
Terraform配置文件(Terraform configuration)

Terraform配置文件 翻译自Terraform Configuration Terraform用文本文件来描述设备、设置变量。这些文件被称为Terraform配置文件,以.tf结尾。这一部分将讲述Terraform配置文件的加载与格式。...

buddie
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部