java设计模式之原型模式

Posted 胜过这首歌

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java设计模式之原型模式相关的知识,希望对你有一定的参考价值。

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设计模式之原型模式的主要内容,如果未能解决你的问题,请参考以下文章

Java学习笔记——设计模式之六.原型模式(浅克隆和深克隆)

创建型设计模式之原型模式

Java设计模式之原型模式

图解Java设计模式之原型模式

JAVA设计模式之原型模式

java设计模式之原型模式