package Dec2016; public class Ques1209 { public static void main(String[] args){
People g = new People("张三"); // 定义监护人
People p1 = new People("儿子1", g);
People p2 = p1.clone(); // 儿子2的信息通过拷贝儿子1来的
p2.setName("儿子2"); p1.getGuarder().setName("李四"); // 将儿子1的监护人改为李四 System.out.println(p1.getName()+"的监控人是:"+p1.getGuarder().getName());
System.out.println(p2.getName()+"的监控人是:"+p2.getGuarder().getName());
}
} class People implements Cloneable{
private String name;
private People guarder; // 监护人 /* get、set方法省略 */ public People(String name) {
this.name = name;
} public People(String name, People guarder) {
this.name = name;
this.guarder = guarder;
} // 拷贝实现
@Override
public People clone(){
People p = null; try {
p = (People) super.clone();
} catch (Exception e) {
e.printStackTrace();
} return p;
}
}
今日问题:
请问主程序能否正常运行输出结果?(点击以下“【Java每日一题】20161208”查看20161207问题解析)
题目原发布于公众号、简书:【Java每日一题】20161209,【Java每日一题】20161209