【问题标题】:Overriding Clone() method in Java [duplicate]在 Java 中覆盖 Clone() 方法
【发布时间】:2018-06-10 12:02:27
【问题描述】:

我知道我应该实现 Cloneable 接口,然后在 Test 中重写 Object 类的 clone() 方法,这不是我的问题。我只是不明白为什么编译器在测试类扩展对象时给出 "clone() has protected access in 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】:

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

ps。您将能够从Test 类的重写clone 方法调用super.clone()。也让你的Testextends Cloneable

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-06-24
    • 2012-06-19
    • 2012-04-16
    • 1970-01-01
    • 1970-01-01
    • 2020-01-30
    • 2014-09-28
    • 2018-01-10
    相关资源
    最近更新 更多