最近復習了一些java的基礎知識,這里總結一下抽象類和接口的區別。
1. abstract class 在 Java 語言中表示的是一種繼承關系,一個類只能使用一次繼承關系。但是,一個類卻可以實現多個interface。
2. 在abstract class 中可以有自己的數據成員,也可以有非abstarct的成員方法,而在interface中,只能夠有靜態的不能被修改的數據成員(也就是必須是static final的,不過在 interface中一般不定義數據成員),所有的成員方法都是abstract的。
3. 一個子類如果implements一個接口,就必須實現接口中的所有方法(不管是否需要);如果是繼承一個抽象類,只需要實現需要的方法即可。
4. abstract class是一個基類,不能被實例化;接口是個聲明,每個對應接口的類都要實現方法。
新聞熱點
疑難解答