1樓:網友
可以有,這樣的方法就不是抽象方法了,前笑譽敬面也不能再加abstract修飾,虛鏈繼承它碰慎的子類的也不必非要去實現它(根據實際情況而定)
2樓:全長征須儀
/抽象方法:只包含方法定義,但沒有具體實現的方法,需要其子類或者子類的子類來具體實現。
靜態方法不能標記為。
override、virtual
或。abstract,即靜態方法都必須是具體的。
抽象類。含有乙個或多個抽象方法慎脊的類稱為抽象類,在宣告時,類名前須新增"abstract"關鍵字。
抽象類中可以包含非抽象方法。
抽象類不能夠被例項化,這是因為它包含了沒有具體實現的方法,即可例項化的類一定不是抽象類,不包含未具體實現的抽象方法。
子類繼承抽象父類後,可以使用override關鍵字覆蓋父類中的抽象方法,並做具體的實如孝猜現。也可以不實現抽象方法,留給後代實現,這時子類仍舊是乙個抽象類,必須宣告為abstract
繼承的抽象方法不可以被隱藏。
隱藏:在子類中建立與父類中的方法具有相同簽名(相同的方法名,相同的引數列表--引數型別和次序)的方法(可以帶有"virtual"或"override"關鍵字)即可實現,但建議使用"new"關鍵字渣型,以明確地隱藏。
只能使用"override"關鍵字來覆蓋(override)父類中標記為"virtual"、"abstract"或"override"的方法,而子類中標記為override的方法,也必須是父類中標記為"virtual"、"abstract"或"override"的方法。
覆蓋(override):必須使用override關鍵字,可以被覆蓋的方法包括標記為abstract,virtual,和override的方法;
隱藏:使用new關鍵字,也可不使用關鍵字,可以被隱藏的方法包括一般方法,和標記為virtual"或"override"的方法;
過載。overload):不需要任何特殊的關鍵字//靜態方法可以被隱藏或過載。
抽象類和普通類有哪些區別?(具體點)
3樓:辜愫虞偉曄
抽虧悔象類實際上是所有子類的公共域和公共方法的集合,而每乙個檔源子類則是父類的特殊化,是對公共銷蠢正域和方法在功能、內涵方面的擴充套件和延伸。
抽象方法必須在抽象類中,所以抽象類中的方法都必須是抽象方法
4樓:清溪看世界
「抽象方法必須在抽象類中,所以抽象類中的方法都必須是抽象方法。」是錯誤的說法。抽象方法通常存在於抽象類或介面中。
在物件導向程式語言中抽象方法指一些只有方法宣告,而沒有具體方法體的方法。當乙個方法為抽象方法時,意味著這個方法應該被子類的方法所重寫,否則其子類的該方法仍然是abstract的,這個子類由於繼承父類,擁有抽象方法,因此它也是抽象類,即宣告為abstract。
含有抽象方法的類是否一定是抽象類
5樓:愛向陽為春
含有抽象方法的類拿寬一定是拍敏念抽象類,但是抽象類不一定含有抽象方法,抽象類的子類可以不是抽象類,但襲困必須重寫抽象類的所有抽象方法,如果子類沒有重寫父類的全部抽象方法,那麼子類必須定義為抽象類。是這樣吧?
6樓:曾梅封緞
可以的,如果類中有乙個租物扒抽象方法他就是抽象類,也可以包含非抽象方法。
繼承的弊昌子螞棚類沒實現其中所有的抽象方法,那麼這個子類也是抽象類。
抽象類中是否一定要有抽象方法?
7樓:網友
在程式設計語句中用 abstract 修飾的類是抽象類。抽象類是不完整的,它只能用作基類,不能生成物件。抽象類可以包含抽象方法、非抽象方法和抽象訪問器。
可以建立乙個變數,其型別是乙個抽象類,並讓它指向具體子類的乙個例項。不能有抽象建構函式或抽象靜態方法。
8樓:匿名使用者
抽象類可以沒有抽象方法,但是如果你的乙個類已經宣告成了抽象類,即使這個類中沒有抽象方法,它也不能再例項化,即不能直接構造乙個該類的物件。
如果乙個類中有了乙個抽象方法,那麼這個類必須宣告為抽象類,否則編譯通不過。
9樓:徐子陵丶
不對,抽象類中宣告的抽象方法必須加public abstract,只有public沒有abstract會提示你重寫方法體。抽象類中宣告的抽象方法 public abstract 不能省略。
10樓:day優質小年輕
可以沒有抽象方法,你和樓主討論的不是乙個問題。
11樓:甜甜雨萌貓貓啦
有抽象方法的類一定是抽象類,但抽象類不一定有抽象方法。
例如httpservlet是抽象類,但沒有抽象方法。
抽象類不能被例項化。
PHP中子類如何呼叫抽象類中的非抽象方法
abstract class a class f extends a m new f m d 你要搞清楚變數和屬性,你想用super name 是想通過繼承來訪問name,那麼name必須是屬性,屬性就是通過訪問器來訪問,這樣定義privatestring name 而你的private strin...
c抽象類和普通類的區別,java中抽象類和介面的區別?
1.c 沒有abstract.vc提供了乙個inte ce 2.抽象類就是指不能例項化的類,因為它們包含了純虛方法。3.虛函式是在申明的時候用了關鍵字virtual的類的 非靜態 成員函式 java中抽象類和介面的區別?抽象類是用來捕捉子類的通用特性的 它不能被例項化,只能被用作子類的超類。抽象類是...
Java中抽象類和介面的區別,java中抽象類和介面的區別
簡單來說,介面是公開的,裡面不能有私有的方法或變數,是用於讓別人使用的,而抽象類是可以有私有方法或私有變數的,另外,實現介面的一定要實現介面裡定義的所有方法,而實現抽象類可以有選擇地重寫需要用到的方法,一般的應用裡,最頂級的是介面,然後是抽象類實現介面,最後才到具體類實現。還有,介面可以實現多重繼承...