[英]How to not extend the Object class in Java?
默認情況下,Java 中的每個類都擴展了Object
類。 (所以單繼承總是發生)
是否有任何不擴展 Object 類的類? (例如,int 可能是 int 類的實例,但不是對象)
我們可以以某種方式創建我們自己的不擴展Object
嗎? 也許通過修改javac
的最終代碼不擴展 Object 類,也許創建我們自己的類來超越對象類的構造函數至少避免異常行為的事情?
int
是一個原始類型,因此我們不能說它擴展了任何東西。
當談到你的問題時:
是否有任何不擴展 Object 類的類?
你已經回答了上面的字面意思:
Java 中的每個類都擴展了 Object 類
PS:我們不能說存在雙重繼承,因為一個類擴展了Object
和其他一些類,因為“另一個類”也擴展了Object
。 事實上,一個類是其所有超類型的子類型,例如:
HashMap m = new LinkedHashMap();
AbstractMap m = new LinkedHashMap();
Object m = new LinkedHashMap();
為簡潔起見省略了類型參數。
編輯:參考關於什么是對象和什么不是對象的討論, JLS §4.3.1給出了答案:
一個對象是一個類實例或一個數組。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.