Java類中為什么不能直接調(diào)用Object的clone()方法

科技 未結(jié) 10 471
oоО暈暈じ
oоО暈暈じ 2022-07-13 11:43

在Java中所有的類都是Object的子類。

在Object類中有一個clone方法定義如下:

protected native Object clone() throws CloneNotSupportedException;

該方法的修飾符為protected,表示該方法可以在子類中調(diào)用


然后結(jié)果是調(diào)用不了

網(wǎng)上有回答是需要實現(xiàn)Cloneable接口,但即使實現(xiàn)了,也調(diào)用不到。
不實現(xiàn)Cloneable接口,只是報CloneNotSupportedException異常。

只能重寫clone方法,并且使用super.clone()

疑惑這是為什么呢?

10條回答
  •  123456819
    123456819 (樓主)
    2022-07-13 12:06

    Cloneable接口僅僅是個標(biāo)志,他里面是空的Object的clone方法是本地方法,比較有效率使用clone方法的幾個條件

提交回復(fù)