Object中的clone
protected native Object clone() throws CloneNotSupportedException;我知道:
1.自己的类要用clone则必须覆盖Object.clone(),或深拷贝,或浅拷贝
且实现Cloneable接口,以作为标记
2.protected的作用域为本包和子类请解释我不知道的:
Object中的clone为什么是protected,而不是public?
请明确解释protected在这里所起的作用
protected native Object clone() throws CloneNotSupportedException;我知道:
1.自己的类要用clone则必须覆盖Object.clone(),或深拷贝,或浅拷贝
且实现Cloneable接口,以作为标记
2.protected的作用域为本包和子类请解释我不知道的:
Object中的clone为什么是protected,而不是public?
请明确解释protected在这里所起的作用
一般来说不允许其他类的对象调用你可能要问 同一包中的其他类还是可以调用 , 那我也不能解释 java的作用域就是这样划分的
每一个都是它的子类另外一个方面 将clone设置为protected 子类重写clone时就有protected和public两种选择
如LS所说 当你希望你的类不至于是随便一个类都能够对他进行clone时 这样就很有效
如果是public 那你重写的clone方法就只能是public了 无选择的能被任何类使用
可我还是不理解为什么把clone定义为protected,谁能解释吗?
class MyObject {}
public class Test
public static void main(String[] args)
MyObject obj = new MyObject();
obj.clone(); // Compile error.
}
}
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4098033