class A implements Cloneable {
int i;
public A(int ii) {
i = ii;
}
public Object clone() {
A o = null;
try {
o = (A)super.clone();
} catch (CloneNotSupportedException e) {
System.out.println("A类不可能被克隆!");
}
o.i = i;
return o;
}
}class B extends A implements Cloneable {
public B(int ii) {
super(ii);
}
public Object clone() {
B o = null;
try {
o = (B)super.clone();
} catch (CloneNotSupportedException e1) {/*错误在这:在相应的try语句中无法抛出CloneNotSupportedException异常*/
System.out.println("A类不可能被克隆!");
}
return o;
}
}class C extends B implements Cloneable {
public C(int ii) {
super(ii);
}
public Object clone() {
C o = null;
try {
o = (C)super.clone();
} catch (CloneNotSupportedException e2) {
System.out.println("A类不可能被克隆!");
}
return o;
}
}public class Test {
public static void main(String[] args) {
A a1 = new A(12);
A a2 = (A)a1.clone();
if (a1 == a2) {
System.out.println("a1 a2 zhi xiang tong yi dui xiang");
} else {
System.out.println("a1 a2 bu zhi xiang tong yi dui xiang");
}
if (a1.i == a2.i) {
System.out.println("a1 he a2 d nei rong xiang tong");
} else {
System.out.println("a1 he a2 d nei rong bu xiang tong");
}
}
}
int i;
public A(int ii) {
i = ii;
}
public Object clone() {
A o = null;
try {
o = (A)super.clone();
} catch (CloneNotSupportedException e) {
System.out.println("A类不可能被克隆!");
}
o.i = i;
return o;
}
}class B extends A implements Cloneable {
public B(int ii) {
super(ii);
}
public Object clone() {
B o = null;
try {
o = (B)super.clone();
} catch (CloneNotSupportedException e1) {/*错误在这:在相应的try语句中无法抛出CloneNotSupportedException异常*/
System.out.println("A类不可能被克隆!");
}
return o;
}
}class C extends B implements Cloneable {
public C(int ii) {
super(ii);
}
public Object clone() {
C o = null;
try {
o = (C)super.clone();
} catch (CloneNotSupportedException e2) {
System.out.println("A类不可能被克隆!");
}
return o;
}
}public class Test {
public static void main(String[] args) {
A a1 = new A(12);
A a2 = (A)a1.clone();
if (a1 == a2) {
System.out.println("a1 a2 zhi xiang tong yi dui xiang");
} else {
System.out.println("a1 a2 bu zhi xiang tong yi dui xiang");
}
if (a1.i == a2.i) {
System.out.println("a1 he a2 d nei rong xiang tong");
} else {
System.out.println("a1 he a2 d nei rong bu xiang tong");
}
}
}
解决方案 »
- float f=1.3; double d=1.4f;
- java中如何调用本类里的方法?
- 接口简单问题,希望今天能结贴
- 一个关于JFileChooser的问题
- jtable不能显示数据,并抛出异常
- [请斑竹进来一下]好好的回复为什么不允许?
- 包的问题
- 在WINDOWS+WEBLOGIC8.1可以正确下载,在UNIX+WEBLOGIC8.12确不能下载,这是为什么?(急)
- 大家好,希望和大家共同交流JAVA学习经验,我的QQ:4931851
- 雷老虎,速来:)
- http://localhost:8080/index.jsp怎么打不开
- 急~!请高手帮忙~!一个文件输入输出程序,编译通过,可运行时出错~!
不是要是有类覆盖clone方法时就必须try catch吗?
这个地方不是调用object的clone()的吗
怎么不需要try catch了???