2017-12-30 50 views
1

Cloneable 인터페이스를 구현하고 Test에서 Object 클래스의 clone() 메서드를 재정의해야한다는 것을 알고 있으며 이것은 내 문제가 아닙니다. 난 왜 컴파일러가 제공하는지 이해가 안 돼요 "클론() 객체에 액세스를 보호했다" 테스트 클래스가 객체를 확장하는 동안 오류가 발생했습니다!Java에서 Clone() 메서드 재정의

public class Test extends Object{ 
public static void main(String[] args) throws CloneNotSupportedException { 
    Object o = new Object(); 
    o.clone(); } } 
+0

참조 https://stackoverflow.com/questions/1138769/why-is-the-clone-method-protected-in-java-lang-object – lexicore

답변

0

clone 방법 java.lang.Objectprotected이다. protected 수정자는 해당 멤버가 자체 패키지 (package-private)와 다른 클래스의 하위 클래스에 의해서만 액세스 될 수 있도록 지정합니다.

ps. 덮어 쓰여진 clone 메서드에서 을 Test 클래스로 호출 할 수 있습니다. 클래스 extends Cloneable도 만드십시오.