类----对象的克隆

// 1,首先要实现Cloneable接口
class Users implements Cloneable{
    private int userId;
    private String userName;
    private int userAge;

    Users(int userId, String userName, int userAge) {
        this.userId = userId;
        this.userName = userName;
        this.userAge = userAge;
    }

    Users() {
    }

    public int getUserId() {
        return userId;
    }

    public void setUserId(int userId) {
        this.userId = userId;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public int getUserAge() {
        return userAge;
    }

    public void setUserAge(int userAge) {
        this.userAge = userAge;
    }

    //2, 重写clone方法
    @Override
    protected Object clone() {
        Users o = null;
        try {
            o = (Users)super.clone();
        } catch (CloneNotSupportedException e) {
            e.printStackTrace(); 
        }
        return o;
    }

    @Override
    public String toString() {
        return this.userId + " - " +this.userName + " - " + this.userAge;
    }
}


public class CloneTest {
    public static void main(String[] args) {
        Users a = new Users(1,"张三",30);
        Users b = (Users) a.clone();
        b.setUserName("李四");
        System.out.println(b);
    }
}

1,首先要实现Cloneable接口

2, 重写clone方法

output: 1 - 李四 - 30

posted @ 2014-02-25 09:00  小菜喵  阅读(235)  评论(0编辑  收藏  举报