覆盖Java中的Clone()方法[重复]

问题描述 投票:1回答:1

我知道我应该实现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(); }  }
java interface compiler-errors clone cloneable
1个回答
0
投票

clone方法是protected中的java.lang.Objectprotected修饰符指定只能在其自己的包中访问该成员(与package-private一样),此外,还可以在另一个包中通过其类的子类访问该成员。

PS。你可以从super.clone()类的重写clone方法调用Test。也让你的Testextends Cloneable

© www.soinside.com 2019 - 2024. All rights reserved.