1. 程式人生 > 實用技巧 >Java日誌第13天 2020.7.18

Java日誌第13天 2020.7.18

第六章 介面淺談

6.1 一個簡單介面的例子

在介面中只能包含抽象的方法和常量,不能有變數、初始化塊和建構函式

介面中的方法都是抽象類,並沒有方法具體的實現。介面中的方法必須由介面的實現類來實現。

6.2 介面的宣告

interface介面定義分為介面的宣告和介面體。其中,介面體有常量定義和方法定義兩部分組成。

定義介面的基本格式:

[修飾符] interface 介面名 [extends 父介面名列表]{

[public][static][final] 常量

[public][abstract] 方法

}

public interface UserDao{
public void addUser(String uname);//定義一個增加使用者的方法
public void delUser(String uname);//定義一個刪除使用者的方法
}

*與Java的類檔案一樣。介面檔案的檔名必須與介面名相同。

6.3 使用介面

6.3.1 介面的使用

在類中實現介面可以使用關鍵字implements,基本格式如下:

[修飾符] class <類名> [extends 父類名] [implements 介面列表]{

}

public class UserDaoImpl implements UserDao {
@Override
public void addUser(String uname){
System.out.println("UserDaoImpl addUser:"+uname);
}
@Override
public void delUser(String uname){
System.out.println("UserDaoImpl delUser:"+uname);
}
}

對於介面的使用,是必須由介面的實現類來實現,介面的例項化如下:

介面 物件名 = new 介面的實現類();

6.3.2 Java介面的特徵歸納

(1)Java介面中的成員變數預設都是public、static、final型別的,而對於public、static、final其實都可以省略,介面中的成員變數為常量,並且建議全部使用大寫,單詞之間用"_"分隔。

(2)Java介面中的方法預設都是public、abstract型別的,並且public和abstract是可以省略的,介面中的方法是沒有方法體,不能被例項化。

(3)Java介面中只能包含public、static、final型別的成員變數和public、abstract型別的成員方法。

介面中的變數必須初始化,並且方法必須是抽象方法,否則會報錯。

(4)介面中沒有構造方法,不能被例項化

(5)一個介面不能實現另一個介面,但它可以繼承多個其他的介面。

(6)Java介面必須通過類來實現它的實現類來實現抽象方法

(7)當類實現了某個Java介面時,它必須實現介面中的所有抽象方法,否則,這個類必須宣告為抽象。

(8)不允許建立介面的例項,但允許定義介面型別的引用變數,該引用變數引用實現了這個介面的類的例項。

(9)一個類智慧繼承一個直接的父類,但可以實現多個介面,間接地實現了多繼承。

介面有什麼用呢?它和繼承不一樣嗎?

明天接著把第六章看完,做做題!