主要内容

清楚对象克隆的操作结构
巩固接口的作用
具体内容

对象克隆

对象克隆指的就是对象的复制操作,在Object类里面提供有一个专门克隆的方法。

对象克隆:protected Object clone() throws CloneNotSupportedException。
此方法上抛出一个“CloneNotSupportedException”异常,如果要使用对象克隆的类没有实现Cloneable接口,那么就会抛出此异常。但是Cloneable接口看不见方法,此为标识接口,表示一种操作能力。

范例:实现克隆操作

public class Book implements Cloneable { // 此类的对象可以被克隆

private String title;
private double price;

public Book(String title, double price) {
    this.title = title;
    this.price = price;
}
public void setTitle(String title) {
    this.title = title;
}
@Override
public String toString() {
    reture "书名:" + this.title + ",价格:" + this.price + "。";
}
// 由于此类需要对象克隆操作,所以才需要进行方法的覆写
@Override
public Object clone() throws CloneNotSupportedException {
    return super.clone();  // 调用父类的克隆方法
}

}
public class TestDemo {

public static void main(String args[]) throws Exception {
    Book bookA = new Book("Java开发", 79.8);
    Book bookB = bookA.clone();
    bookB.setTitle("Android开发");
    System.out.println(bookA);
    System.out.println(bookB);
}

}
输出结果

书名:Java开发,价格:79.8。
书名:Android开发,价格:79.8。
对象的克隆操作,理论价值大于实际价值,因为在实际的工作里面很少会用到对象克隆 的操作。重点在于标识接口上,以后依然会见到没有方法的接口,这样的接口就好比通行证一样,表示的是能力。

总结

标识接口:没有任何方法定义,只是一个空接口的声明。

欢迎加入学习交流群569772982,大家一起学习交流。


java部落
90 声望13 粉丝