파생 클래스의 복제를 구현하려고하는데, 그 이유는 모르겠습니다. 클래스 B를 복제 할 수없는 이유는 무엇입니까? CastClassExpcetion을 얻습니다.파생 클래스 복제
public class A implements Cloneable {
private Integer a;
@Override
protected Object clone() throws CloneNotSupportedException {
A clone = new A(); //Why if I do this instance of super.clone() I get an exception?
A clone = (A) super.clone();
clone.a = this.a;
return clone;
}
..
}
public class B extends A implements Cloneable {
private String b;
..
@Override
protected Object clone() throws CloneNotSupportedException {
B clone = (B) super.clone();
clone.b = this.b;
return clone;
}
public static void main(String[] args) throws CloneNotSupportedException {
B b = new B(1, "s");
B clone = b.clone();
}
}
관련 항목 : http://stackoverflow.com/questions/4081858/about-java-cloneable – mariusm
귀하의 코드 (귀하의 복제 구현 및 주요 방법)를 보면, 귀하는 귀하가 무엇인지 알지 못한다고 생각합니다. 하기. 무엇을 성취하고 싶습니까? 왜''System.out.println ("A");'? – Ben
글쎄, 그것은 단지 코드가 끝났다는 것을 아는 것입니다. – Guille