java 接口数据类型_Java 数据类型(中): 抽象类与接口
抽象類和接口都是java對事物對象抽象的機(jī)制,是多態(tài)性的表現(xiàn)。在某些時(shí)候它們還可以互換,其實(shí)它們還是有區(qū)別的。
1,抽象類(abstract class):對某些對象的抽象描述的類(對事物對象行為方法的聲明,但是卻不實(shí)現(xiàn)具體的方法內(nèi)容,具體的實(shí)現(xiàn)需要它的子類自己去實(shí)現(xiàn))
(1)抽象類可以有自己的成員變量,和方法,還有抽象方法。(也可以沒有抽象方法)
抽象類的定義:
abstract class ?T{
public int i; ? ? ? ? ? //抽象類自己的變量
public void A(){........} ? //自己的方法
abstract void S(); ? //抽象方法
abstract int D();
}
(2)抽象類的抽象方法是靠子類實(shí)現(xiàn)的,抽象類可以繼承也可以實(shí)現(xiàn)接口,而且它的抽象方法不可以實(shí)現(xiàn)。如果繼承的子類沒有實(shí)現(xiàn)它的方法,那么子類也是抽象類;如果抽象類實(shí)現(xiàn)了接口,那么抽象類不需要實(shí)現(xiàn)接口方法,只需要留給子實(shí)類實(shí)現(xiàn)就行了。
(3)抽象類不能實(shí)例化,但是可以有自己構(gòu)造函數(shù)(子類通過它給抽象類成員變量賦值)如果實(shí)例化,也只能是繼承它的子類實(shí)例化。
2,接口:對事物行為(方法)的抽象。
(1),他沒有自己的屬性,最多只能有公共的靜態(tài)的常量 :static final 成員變量,只能有抽象方法(不需要abstract 修飾)比如:
定義:
interface T{
static final int i=12;
void A(); ?//聲明方法
int S();
}
(2)接口只能實(shí)現(xiàn),不能繼承,而且接口的方法在實(shí)現(xiàn)它的子類中必須實(shí)現(xiàn)。如果不實(shí)現(xiàn)那么就是子接口。
實(shí)現(xiàn):class W implements T{
void A(){......}
int S(){..........}
}
(如有疑問,請多多指教)
總結(jié)
以上是生活随笔為你收集整理的java 接口数据类型_Java 数据类型(中): 抽象类与接口的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: keil5破解(备忘,有需要的可以下载)
- 下一篇: Java面试题全集中