子類別:是否繼承私有欄位?
在面試難題中,子類別是否繼承私有欄位的問題引發了爭論。最初,由於無法直接存取這些字段,人們可能會做出否定的反應。然而,面試官認為子類別確實繼承了它們,並引用了間接存取和反射方法。
不管面試官的觀點如何,Java 語言規格 (JLS) 都明確規定類別的私有成員不能由其子類別繼承。在考慮類別而不是物件的上下文中的繼承時,這種區別至關重要。子類別的物件無疑包含其超類別的私有欄位。
面試官的觀點可能源自於更廣泛的繼承定義。子類別的物件繼承其父類別的所有資料和方法,包括私有欄位。然而,從類別的角度來看,繼承是指子類別可用的語法和功能。私有成員無法從其類別或子類別的外部訪問,因此,子類別在這個意義上不會繼承它們。
總而言之,雖然子類別的物件繼承了父類別的私有欄位的資料值,但子類別繼承了私有欄位的資料值。從語法或可訪問性的角度來看,它們本身並不會繼承這些欄位。這種理解明確地符合 Java 語言的官方定義。
以上是Java中子類別繼承私有欄位嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!