接口與抽象類的淺析

package test;
/**
 * 接口的意義:
 *1.多態的前提條件之一
 *2.彌補了普通類,抽象類間的單繼承的缺陷,接口之間可以多繼承,某個普通類或抽象類可以多實現接口
 *3.普通類實現接口時,必須重寫裏面的所有的方法
 */
interface a{
    void k();
}
interface b{}
interface A extends a,b{
    public void AA1();
    public void AA2();
    public void AA3();
}
/**
 * 抽象類B對AA1方法做了空實現
 * 
 * 抽象類的意義:
 * 1.可以在接口和普通類之間做橋接,因爲抽象類實現接口,可以實現部分方法
 * 2.雖然只能被單繼承,但是類中可以擁有普通方法和抽象方法
 * 3.對一系列的事務作抽象,讓子類必須實現,從而有預測聲明的作用,所以體現了面向對象的封裝性,抽象性
 * 4.因爲多態的前提條件之一是繼承,所以體現了面向對象的多態性
 *
 */
abstract class B implements A {
    @Override
    public void AA1() {}
    @Override
    public abstract void AA2();
}
//test繼承B類時,只需重寫AA2(),AA3()
class test extends B{
    @Override
    public void AA2() {}
    @Override
    public void AA3() {}
    @Override
    public void k() {
        // TODO Auto-generated method stub

    }
}
//test1實現接口時,全部重寫
class test1 implements A {
    @Override
    public void AA1() {}
    @Override
    public void AA2() {}
    @Override
    public void AA3() {}
    @Override
    public void k() {
        // TODO Auto-generated method stub

    }

}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章