抽象類和接口的區別:
(推薦教程:java入門教程)
抽象類中既可以包含抽象方法,也可以包含非抽象的普通方法;而接口中的方法必須是抽象方法。
抽象類中的抽象方法的訪問類型可以是public、protected、default,但接口中的抽象方法只能是public。
抽象類中可以有普通成員變量,而接口中的所有變量均為public static final修飾,即均為常量。
抽象類里可以有構造方法,而接口中不能有構造方法。
抽象類里可以有靜態方法,而接口中不能有靜態方法。
一個類可以實現多個接口,但只能繼承一個抽象類。如果抽象類實現接口,則可以把接口中的方法映射到抽象類中作為抽象方法,而不必實現,而在抽象類的子類中實現接口中方法。
抽象類和接口的相同點:
(學習視頻推薦:java課程)
-
都可以被繼承
-
都可以包含方法聲明
-
都不可以實例化
-
派生類必須實現未實現的方法