abstract class和interface的區(qū)別
abstract
1、可以有自己的數(shù)據(jù)成員,也可以有非abstarct的成員方法
2、可以提供某些方法的部分實現(xiàn)
3、向一個抽象類里加入一個新的具體方法時,所有的子類都一下子都得到了這個新方法
4、是一種繼承關(guān)系,一個類只能使用一次繼承關(guān)系
interface
1、只能夠有靜態(tài)的不能被修改的數(shù)據(jù)成員(也即interface是static final的),所有的成員方法都是abstract的。
2、不提供某些方法的部分實現(xiàn),只有方法的定義。
3、如果向一個interface里加入一個新方法,所有實現(xiàn)這個接口的類就無法成功通過編譯了,因為你必須讓每一個類都再實現(xiàn)這個方法才行。
4、一個類卻可以實現(xiàn)多個interface
1、可以有自己的數(shù)據(jù)成員,也可以有非abstarct的成員方法
2、可以提供某些方法的部分實現(xiàn)
3、向一個抽象類里加入一個新的具體方法時,所有的子類都一下子都得到了這個新方法
4、是一種繼承關(guān)系,一個類只能使用一次繼承關(guān)系
interface
1、只能夠有靜態(tài)的不能被修改的數(shù)據(jù)成員(也即interface是static final的),所有的成員方法都是abstract的。
2、不提供某些方法的部分實現(xiàn),只有方法的定義。
3、如果向一個interface里加入一個新方法,所有實現(xiàn)這個接口的類就無法成功通過編譯了,因為你必須讓每一個類都再實現(xiàn)這個方法才行。
4、一個類卻可以實現(xiàn)多個interface
posted on 2006-10-31 11:07 劉浪 閱讀(650) 評論(0) 編輯 收藏 所屬分類: java