zoukankan      html  css  js  c++  java
  • 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);
    }
    }
    
    
    
     
  • 相关阅读:
    【转】汽车CAN总线
    【转】I2C总线协议
    【转】SPI总线协议
    【转】结构struct 联合Union和枚举Enum的细节讨论
    复合类型变量其首地址的几种表示方式
    【转】四款经典3.7v锂电池充电电路图详解
    【转】crc16几种标准校验算法及c语言代码
    【转】 CRC循环冗余校验码
    对STM32库函数中 assert 函数的认知
    【转】用宏定义代替printf函数
  • 原文地址:https://www.cnblogs.com/www-yang-com/p/9275212.html
Copyright © 2011-2022 走看看