java設計模式之原型模式

來源:互聯網
上載者:User

標籤:技術分享   調用   text   not   迴圈   cep   div   nbsp   this   

1.首先:我們先介紹一下什麼是複製!

複製也叫拷貝:拷貝可分為:1.淺度拷貝   2.深度拷貝。

 

 

 






package chenyang;import java.util.*;/** * * @author 65245 *實現複製的 */public class Person implements Cloneable{ private String name; private int age; private String sex; private List<String> friends; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public List<String> getFriends() { return friends; } public void setFriends(List<String> friends) { this.friends = friends; } public Person clone(){ try { //繼承Object的對象 //因為是調用的一切是Object的類型,所以我們強轉一下 Person frend = (Person)super.clone(); //建立儲存的集合 List<String> list = new ArrayList<String>(); //迴圈拿到手動輸入的值,並賦給list的集合 for (String person : this.getFriends()) { list.add(person); } // frend.setFriends(list); return frend; } catch (CloneNotSupportedException e) { e.printStackTrace(); return null; } }}

package chenyang;import java.util.ArrayList;import java.util.List;/** * Text的測試類別 *  * @author 65245 * */public class Text {public static void main(String[] args) {    //1.建立直接賦給集合的    Person person = new Person();    List<String> list = new ArrayList<String>();    list.add("hello");    list.add("word");    person.setFriends(list);        //2。建立person的clone的方法;    Person person1 =person.clone();    System.out.println("person:"+person);    System.out.println("person1:"+person1);}}

 

 

 

java設計模式之原型模式

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.