抽象類必須要有抽象方法嗎? 普通類和抽象類有哪些區別?


public abstract class 抽象類 {
//抽象類中也可以有抽象方法
public abstract void test();
//非抽象方法
public static int demo() {
return 1;
}
}
-------------------------- 普通類和抽象類有哪些區別-----------------------------
  • 普通類不能包含抽象方法,抽象類可以包含抽象方法。

  • 抽象類不能直接實例化,普通類可以直接實例化。

 

抽象類不能使用 final 修飾 ?

答:不能,定義抽象類就是讓其他類繼承的,如果定義為 final 該類就不能被繼承,這樣彼此就會產生矛盾,所以 final 不能修飾抽象類,如下圖所示,編輯器也會提示錯誤信息:

 

抽象方法也不能用final

 

 接口和抽象類有什么區別?

  • 實現:抽象類的子類用 extends 來繼承;接口必須使用 implements 來實現接口。

  • 構造函數:抽象類有構造函數;接口不無。

  • main 方法:抽象類可以有 main 方法,並且我們能運行它;接口不能有 main 方法。

  • 實現數量:類可以實現很多個接口;但是只能繼承一個抽象類。

  • 訪問修飾符:接口中的方法默認使用 public 修飾;抽象類中的方法可以是任意訪問修飾符。

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM