當前位置:編程學習大全網 - 網站源碼 - java關於clone的問題

java關於clone的問題

嗯,正常情況下,Object.clone()會正確返回壹個當前對象的壹個復本。

除非當前對象沒有實現java.lang.Cloneable。

妳的程序直接運行沒有錯誤,無論在JDK1.3\1.4\1.5\1.6下都是正確的。

看了java的規範,理論上任何JDK都應該實現Object.clone()的。

那麽反過來考慮,如果要產生妳那個NullPointerException,必須使clone()返回null,那麽只有兩種可能: Object.clone()返回null或者拋出異常。

進而推論為Account對象沒有實現 java.lang.Cloneable!

因此,我猜測在妳程序的同壹個目錄下,還有個Cloneable.java,定義了壹個自定義的Cloneable,或者妳給的這段程序少了下面壹段:

interface Cloneable {

public Object clone();

}

我試了壹下,如果有個自定義的Cloneable,那麽編譯器就不會認為Account類實現了java.lang.Cloneable,因此Object.clone()就會拋出異常了。

  • 上一篇:緊急求助啊,附源代碼和電路圖,其中少做壹個按鍵清空計時值,還有具備鎖存功能是什麽意思?
  • 下一篇:騰訊遊戲平臺TGP被他人登錄的原因是什麽?
  • copyright 2024編程學習大全網