還記得Josh在上Java課程時  介面及抽象類別是頻頻搞混,到現在久沒碰還是有點昏頭,不如就把它寫在部若格來提醒自己吧!!

 

介面 (Interface)  

介面的方法會自動冠上 Public 及 abstract 因為是抽象是要給人實做的,所以冠上Private Protected 及final都會導致失敗

介面只可有抽象方法,介面也不可被實體化

一個類別可實做(implements)多個介面,不可繼承

介面只可繼承介面,不可實做,因為實做就必須建立了一般方法

介面也不可繼承類別,因為會把一般方法繼承過來,就不符合介面的用意

介面也可以有屬性,但會被冠上final和public 所以必須給予初始直

 

抽象類別(Abstract Class)

抽象類別內,可有一般方法或是抽象方法,差別在於 一般方法會有大括號{}放置內容,而抽象方法則沒有{}以;結尾,讓人實做

而 abstract 方法也不可冠上final 因為要給人實做

抽象類別也不可被實體化

子類別繼承抽象類別必須實作方法 否則子類別就要變為抽象類別

EX:

abstract class book{
String name;
String isCall;
book(String N , String S){
this.name = N;
this.isCall = S;
}
abstract public void show();
}

abstract class Test extends book{
//super("aa","CC");
Test(String N, String S) {
super(N, S);
// TODO Auto-generated constructor stub
}
// public void show(){
// System.out.println(this.name);
// }

// 如果此子類別為一般類別則要實做show()

}

 

 

 

以上來源皆參考  基峯"SCJP6.0認證教戰手冊"

 

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 JoshS 的頭像
    JoshS

    JoshS的部落格

    JoshS 發表在 痞客邦 留言(0) 人氣()