「介面」的概念與抽象相似對我們來說應該不陌生,目的一樣在於保護特定的資料。
其組成是一個處理抽象的辦法,換句話說,它是由抽象類別組成的概念。
不過提到這個問題,為甚麼還要特別使用介面呢 ?
這個部分會在下面小節「多重介面」(Multiple Interfaces)介紹到
與抽象概念相同,不能建立介面的物件,其中之函數也不能定義初始內容。
不過,還是有一些稍微不同的部分 :
implements
(! extends
)interface interface_name{
public abstract return_value_type function_name(Parameters){
/*****************/
/***Description***/
/*****************/
}
}
abstract
可省略public
interface School {
public abstract void performance();
public void grade();
}
class Student implements School {
public void performance(){
System.out.println("You did a great job !!!");
}
public void grade(){
System.out.println("You got A !!!");
}
}
public class Main{
public static void main(String[] args) {
Student new_obj = new Student(); //透過子類別繼承類別創造物件
new_obj.performnace();
new_obj.grade();
}
}
implements
)我們之前在Day 21 : 類別繼承 ( 1 )提到的一個繼承觀念
在Java的繼承中都是「單向繼承」
意思是一個子類別不能同時繼承2個或以上的父類別,這句話其實不盡然全對。
只要確定都是繼承介面的superclass!!!
interface One {
public void One_Function();
}
interface Two {
public void Two_Function();
}
class sub_can_inhermutli implements One,Two{
public void One_Function() {
System.out.println("First interface contents");
}
public void Two_Function() {
System.out.println("Second interface contents");
}
}
public class Main {
public static void main(String[] args) {
sub_can_inhermutli new_obj = new sub_can_inhermutli();
new_obj.One_Function();
new_obj.Two_Function();
}
}
子類別可以繼承多個介面,注意繼承時用逗號隔開介面。
以上內容若有誤或任何問題,煩請不吝嗇告知,謝謝您!!!