学习
对象克隆
对象克隆就是将一个对象进行内容复制。
protected Object clone() throws CloneNotSupportedExcetion;
正常实现克隆,对象所在类必须实现Cloneable()接口,接口未定义任何方法,此接口属于标识接口,指的是一种能力的体现。
范例 17-7 实现克隆
package com.Javastudy2;
/**
* @author Y.W.
* @date 2018年6月19日 下午11:19:55
* @Description TODO 实现克隆
*/
public class P444_17_7 {
public static void main(String[] args) throws Exception {
Book7 bookA = new Book7("Java从入门到精通", 79.8);
Book7 bookB = (Book7) bookA.clone(); // 对象克隆
bookB.setPrice(100.8);
System.out.println(bookA);
System.out.println(bookB);
}
}
class Book7 implements Cloneable { // 可以被克隆
private String title;
private double price;
public Book7(String title, double price) {
this.price = price;
this.title = title;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
@Override // 重写clone()方法
protected Object clone() throws CloneNotSupportedException {
return super.clone();
}
@Override
public String toString() {
return "Book[title=" + title + ", price=" + price + "]";
}
}
运行结果:
小结
克隆还得先实现Cloneable接口来标记。
记于2018年6月19日23:36:14
By Yvan