接口的三大作用:
- 接口它的作用一是描述标准
- 接口它的作用一是描述能力
- 暴露远程方法视图,这个一般在RPC分布式开发中使用.
Java中Cloneable接口为什么没有提供任何方法,是因为它描述的能力。
什么是对象克隆?
所谓对象克隆指的就是对象的复制,而且属于全新的复制,即:使用已有对象内容创建一个新的对象,如果要想进行对象克隆需要使用到Object类中提供的clone()方法,但是并不是所有对象都希望被克隆。所以要想实现对象克隆,那么对象所在类需要实现一个接口Cloneable。
package com.tencent.baosen;
class Member implements Cloneable{
private String name;
private int age;
public Member(String name, int age){
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "["+super.toString()+"]Member{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
@Override
protected Object clone() throws CloneNotSupportedException {
return super.clone(); //调用父类中提供的clone()方法
}
}
public class LearnClone {
public static void main(String[] args) throws CloneNotSupportedException {
Member memberA = new Member("张三", 18);
Member memberB = (Member) memberA.clone();
System.out.println(memberA);
System.out.println(memberB);
//运行结果:
//[com.tencent.baosen.Member@1540e19d]Member{name='张三', age=18}
//[com.tencent.baosen.Member@677327b6]Member{name='张三', age=18}
}
}