java裡面為什麼子類繼承父類的時候class前面不能加訪問修飾符public或者private

2021-07-27 14:42:16 字數 1383 閱讀 2408

1樓:

類(class)的修飾符只能是預設,public, abstract , final

不能是private

在繼承的時候要看父類是什麼樣的,如果父類是final的,那就不能用public修飾子類了 ,因為不能繼承該類

2樓:匿名使用者

類的訪問許可權好像是public、abstract,final,defaultl型的,

3樓:大楞佬

類的訪問修飾只能是:預設的、public(公共的)、abstract(抽象的)、final(不能繼承的)

4樓:亓倫

意思是本包可以訪問..子類可以繼承..

某類的protected 方法和屬性在包外是不能通過該類物件進行訪問的(你能在包外訪問一個類的預設許可權的方法和屬性嗎?當然不能),這就是為什麼在某物件所在的包的以外的任何地方,你不可以通過該類的物件引用來呼叫它的protected 方法和屬性,哪怕是在該類的子類中也不可以這樣做。在該類包外的子類中能「看到「的只是子類自己繼承來的protected 方法和屬性,它是不能「看到「它的父類物件的protected方法和屬性的。

也就是說你可以new 子類然後子類物件.protected屬性..但是這樣實際上訪問的是子類繼承來的屬性..並不是父類的屬性..

5樓:酆玥

公開的可以 私有的不可以

為什麼子類重寫父類的方法的訪問修飾符,不能低於父類的方法訪問許可權?

6樓:匿名使用者

重寫也叫覆寫,修飾符、返回型別、引數就是要和父類一摸一樣才叫覆寫,意思是說各個地方都需要完美的蓋住,在面向介面程式設計中,重寫是子類有自己的邏輯要實現,同時又不破壞已寫好程式邏輯的好方法

舉個例子,在父類中是public的方法,如果子類中將其降低訪問許可權為private,那麼子類中重寫以後的方法對於外部物件就不可訪問了,這個就破壞了繼承的含義

7樓:紅色警姐

許可權問題嘛,子類的許可權要大於或者等於父類的

8樓:╃原罪丶灬

額 不能通過訪問的許可權來過載,重寫的時候訪問修飾符的限制大於被訪問者,public >pro>def>pri

9樓:我哭了淺笑

可以這樣理解的 這是個授權問題 先說 為什麼不能小於,如果你寫小了

相當於/*相當於 其實不是*/你私吞了父類的方法內容自己又私自定義了一個方法,這樣會有方法重名的問題(與繼承的思想不符合,如果你私有了,這個方法就不能再傳下去) ,再說 為什麼可以大於父類許可權 ,因為父類方法既然可以繼承 拿它就應該具備傳遞性,所 以就可以 大於父類的許可權,以更好發揮繼承提高**複用率的功能;

Java中的子類會繼承父類的所有成員嗎

給你看bai兩個例子 我剛敲的 第二個du例子 這兩zhi個例子的區別只有一句 dao話 由此證專明瞭子類從父類繼承的時候 如果有屬同名的成員變數 預設情況下 父類的成員變數是被遮蔽的 如果你非要呼叫父類的成員變數 請使用super關鍵字 不是的,私有成員繼承不了,構造方法也繼承不了 靜態方法 靜態...

父類的private屬效能被子類繼承嗎

子類繼承父類,子類擁有了父類的所有屬性和方法。程式驗證,父類的私有屬性和方法子類是無法直接訪問的。當然私有屬性可以通過public修飾的getter和setter方法訪問到的,但是私有方法不行。假設 子類不能夠繼承父類的私有屬性和方法 那麼 分析記憶體後,會發現,當一個子類被例項化的時候,預設會先呼...

Java中子類的物件是否可直接使用父類的protected方法,為什麼

這要看你是覆在哪兒用制子類物件來用protected方法了,protected是同包同類子類可訪問,因此如果在同類,同包,或者子類中用子類物件訪問父類protected方法就沒事,但在不同包非繼承的類中用就不行 可以的,protected對於子類 同一個包中的類來說,可以訪 問,不同包的類不能回訪問...