浅克隆 Person p2 = (Person) p1.clone(); clone()方法使用后得到p2,p2和p1指向不同的地址.但是如果p1中的属性是引用类型,那么不再对这个引用类型进行复制,而止于这个引用. clone类 Ojbect类中clone()是protected修饰,因此需要扩权.在Person中重写这个方法(并抛出异常).同时需要实现cloneable接口,否则将报错. 代码 Person类 public class Person implements Cloneable{…
参考copy链接:http://blog.csdn.net/bigconvience/article/details/25025561 在看原型模式,发现要用到clone这个方法,以前和朋友聊过,没怎么看过,刚好要用,就看看了. 源码解释: /** * Creates and returns a copy of this object. The precise meaning * of "copy" may depend on the class of the object. The…
clone()方法 与new constructor()构造器创建对象不同 是克隆一个新的对象 package com.swift; public class Clone_Test { public static void main(String[] args) { Person p = new Person(23, "zhang"); Person p1 = p; System.out.println(p); System.out.println(p1); } } class Per…
现在有User类:(Getter和Setter省略) public class User implements Cloneable { private String name; private int age; private User user; @Override public User clone() { try { return (User) super.clone(); } catch (CloneNotSupportedException e) { } return null; }…