知识点:
1.清楚对象克隆的操作结构
2.巩固接口的作用
具体内容:
对象克隆就是一个对象复制操作,再Object类里面专门提供有一个专门的克隆方法:
对象克隆:protected Object clone() throws CloneNotSupportedException
注:protected本包和不同包子类访问。
以上抛出了一个异常“CloneNotSupportedException”,如果要使用对象克隆的类没有实现Clonable接口,那么就会抛出此异常。但是Clonable接口看不到方法,此为表示接口,表示一种操作能力。
范例:实现克隆操作
package 算法;
class Book implements Cloneable{ //此类对象可以被克隆
private String title;
private double price;
public void setTitle(String title) {
this.title = title;
}
public Book(String title,double price){
this.title=title;
this.price =price;
}
@Override
public String toString() {
return "书名:"+this.title+",价格:"+this.price;
}
//由于此类需要对象克隆操作,所以才需要进行方法的覆写
@Override
protected Object clone() throws CloneNotSupportedException {
return super.clone(); //调用父类的克隆方法
}
}
public class TestDemo {
public static void main(String args[]) throws CloneNotSupportedException{
Book bookA = new Book("Java开发",79.8);
Book bookB = (Book)bookA.clone();
bookB.setTitle("jsp开发!");
System.out.println(bookA);
System.out.println(bookB);
}
}
标识接口:没有方法的接口,这样的接口好比通行证一样,表示能力。
总结:表示接口没有任何方法定义,只是一个空接口的声明。