1樓:馮老師(必果學院
不正確包含抽象方法的類叫做抽象類。而抽象方法是類中指那些僅宣告,並不做回實現的方法。
這答些方法可以作為一個通用的介面,規範子類的實現。
但是抽象類的子類並不一定就是實體類,也可以是另一個抽象類。在這種情況下,作為抽象類的子類,也可以不實現某些抽象方法,而是等待其子類去實現。
不過對於繼承了抽象類的實體類,則必須實現所有的抽象方法,否則無法用該類宣告物件——這在語法上是不允許的。
抽象方法往往被用做介面。在設計的時候,這種方法常常被用於那些需要和外部模組互動的類。這樣可以遮蔽外部對實際工作類細節的瞭解,避免引入過多的可能導致bug的因素;另一方面,這樣可以方便外部和內部互動,雙方只要遵循介面的定義互動即可,減少內部對外部的依賴。
2樓:匿名使用者
不完全對。首先,抽象類必定包含抽象方法,而作為一個子類如果繼承自回抽象類,那麼
答如果要實現該類的物件,那麼久必須對抽象類中的抽象方法進行實現,而如果只是想再寫一個抽象類,這不需要對父類中的抽象方法進行實現
3樓:匿名使用者
從兩個層面來回答:
抄1. 某一個類如果定義了某個方法是抽象方法,則在本類中不能有任何實現,必須在子類中實現才行。(這裡的子類,是廣義的子類。)
2. 某一個類如果定義了某個方法是抽象方法,其子類並非一定要實現。不想實現父類中的抽象方法的話,子類同樣定義成抽象類就是了。(這裡的父類,也是廣義的父類。)
計算機程式語言,並不是嚴格的科學,沒有嚴格的、嚴謹的定義,出這種摳字眼的判斷題,沒太大意思。
如果在抽象類中定義私有變數,子類繼承抽象類後,子類中的方法需要訪問抽象類中定義的私有變數怎麼辦?
4樓:匿名使用者
私有的子類是不可以用的。但是如果想訪問父類的私有變數或者改變私有變數,可以在超類中定義兩個方法get() set()
5樓:金城杞人
在抽象父類裡定義兩個setter/getter方法。
抽象類不是必須有抽象方法。
6樓:匿名使用者
定義私有變數主要是防new的 你把類定為靜態,或者把變數定義為靜態,等都可以訪問
7樓:匿名使用者
set,get來獲取
8樓:火虹澀
private訪問修飾符只有內部類才能夠呼叫,子類是不可以的。如果想要在子類呼叫,請使用protected訪問修飾符。
9樓:29小和尚
可以直接訪問啊,或者用super
java中抽象類的構造方法抽象麼
抽象類可以有構造方法,只是不能直接建立抽象類的例項物件而已。在繼承了抽象類的子類中通過super 引數列表 呼叫抽象類中的構造方法 示例 如下 抽象類和抽象方法什麼關係?抽象類中可能有抽象方法,也可能沒有抽象方法。那位說,就跟沒說一樣,那抽象類和抽象方法都叫抽象,他們必定有關係,那關係是什麼呢?如果...
java中什麼是抽象類和抽象方法?建立有何作用
java抽象類的作用 1 通過繼承它實現多型,後期繫結,可以為將來要實現的東西做好介面,實現重用性。2 介面就是更純粹的抽象類。java中抽象類的構造方法抽象麼 抽象類可以有構造方法,只是不能直接建立抽象類的例項物件而已。在繼承了抽象類的子類中通過super 引數列表 呼叫抽象類中的構造方法 示例 ...
c 語言中類中的靜態資料成員為什麼必須在類體外初始化
可以通過以下幾個例子更形象的說明這個問題 test.cpp include class a int main 編譯以上 會出現 對 a a 未定義的引用 錯誤。這是因為靜態成員變數a未定義,也就是還沒有分配記憶體,顯然是不可以訪問的。再看如下例子 test.cpp include class a i...