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
}
}
接口與抽象類的淺析
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.