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