这个问题在这里已有答案:
我知道我应该实现Cloneable接口,然后在Test中覆盖Object类的clone()方法,这不是我的问题。我只是不明白为什么编译器给出了“clone()在对象中具有受保护的访问”错误,而Test类正在扩展Object!
public class Test extends Object{
public static void main(String[] args) throws CloneNotSupportedException {
Object o = new Object();
o.clone(); } }
clone
方法是protected
中的java.lang.Object
。 protected
修饰符指定只能在其自己的包中访问该成员(与package-private一样),此外,还可以在另一个包中通过其类的子类访问该成员。
PS。你可以从super.clone()
类的重写clone
方法调用Test
。也让你的Test
类extends Cloneable
。