Blogger 站內搜尋

顯示具有 [JAVA][入門教學]Java SE 入門教學-內部類別-巢狀類別 標籤的文章。 顯示所有文章
顯示具有 [JAVA][入門教學]Java SE 入門教學-內部類別-巢狀類別 標籤的文章。 顯示所有文章

2018年11月26日 星期一

Java SE 入門教學 - 內部類別-巢狀類別

更新時間:11/26/2018

前言

如果要把每個功能都分出來,一個大型專案肯定會使用超多的類別,但,有時候這個類別只有特定的類別使用時,可以考慮使用另一個技術「內部類別(Inner Class)」、「巢狀類別(Nested Class)」。

內部類別通常是用來輔助外部類別,另一層封裝的類別階層組織,以提高程式的可讀性和維護性。



一、內部類別的基礎概念

在類別中您還可以定義類別,稱之為內部類別(Inner class)或「巢狀類別」(Nested class)。非 "static" 的內部類別可以分為三種:成員內部類別(Member inner class)、區域內部類別(Local inner class)與匿名內部類別(Anonymous inner class);static 的內部類別只有一種:靜態成員內部類別。

使用內部類別的好處在於可以直接存取外部類別的私用(private)成員,舉個例子來說,在視窗程式中,您可以使用內部類別來實作一個事件傾聽者類別,這個視窗傾聽者類別可以直接存取視窗元件,而不用透過參數傳遞。

另一個好處是,當某個 Slave 類別完全只服務於一個 Master 類別時,我們可以將之設定為內部類別,如此使用 Master 類別的人就不用知道 Slave 的存在。

存取修飾子的使用:

外部類別只能使用:public、default、final、abstract。
內部類別可以使用:private、protected、public、static。