java如何實現對象克隆 java中的clone方法?
java中的clone方法?因為在java.lang.Object對象在類的定義中,clone()受保護。根據受保護的訪問控制范圍,它只能是當前類、當前包或其他包的子類。注意這里的“accessibl
java中的clone方法?
因為在java.lang.Object對象在類的定義中,clone()受保護。根據受保護的訪問控制范圍,它只能是當前類、當前包或其他包的子類。注意這里的“accessible”是通過原始對象訪問的。
Java中clone方法的疑問?
因為在java.lang.Object對象在類的定義中,clone()是受保護的,根據受保護的訪問控制范圍,只能在當前類、當前包或其他包的子類中訪問。
請注意,此處的“可訪問”是通過原始對象訪問的。
您可能認為代碼中的obj滿足“其他包的子類”的條件。錯了。一旦有新產品問世,就超出了范圍。Super仍然是原始對象,因此可以訪問父類基類甚至對象的受保護的clone()方法。
在java中clone為什么要用super.clone()方法這里為什么要用super不是this?
實現了可克隆接口,該接口是證明該類可以被克隆并可以調用object的clone方法的令牌,而超級克?。ǎ┦强寺‘斍皩ο?,這里是super。調用父類的clone方法實現淺層克隆,即只克隆當前對象,不克隆當前對象的子對象。至于克隆方法的實現,我從來都不知道。我只知道它是用反射機制實現的。當前對象可以完全復制,但是因為返回值是object,所以需要強制類型