介面 巢狀類

2021-09-25 10:00:21 字數 1316 閱讀 2306

介面

合同(契約)

線性表:

增加 頭插/尾插/根據index插入

刪除 頭刪/尾刪/根據index刪除

給定index返回指定資料/修改index位置資料,返回整體長度

語法:定義介面(相當於類)

inte***ce介面名稱

可以給出靜態方法

static int b

//類似抽象類中全是抽象方法

}**商應該滿足契約(合同)

class 類名 implements 介面名稱

介面肯定是public ,介面和類是乙個級別的

介面裡的函式預設帶public和abstract

在契約裡覆寫後就不是abstract,就得補上public

覆寫的訪問限定符可以修改,只能把範圍改大,不能改小

class arraylist entends a implements b介面,c介面 單繼承,多介面

介面裡也有繼承關係(這裡允許多繼承)

巢狀類:

類的成員中定義類

靜態巢狀類 靜態類

非靜態巢狀類 內部類

成員內部類

本地內部類

匿名內部類

1.靜態巢狀類

鍊錶類(對外服務)–>介面類(內部組織管理)

class linkedlist

}物件沒區別,物件之間沒關係,只是把名字放進來了,加訪問限定符可以讓外面感受不到內部類的存在,變成成員linkedlist.node a=new linkedlist.node(1);內部類為public時才能這樣

呼叫是外部類.內部類

2.內部類(private)

線性表應該支援乙個功能:迭代器(iterator)統一的遍歷方式,只要是線性表都可以,取出每乙個值,遍歷

迭代器介面

inte***ce iterator

iterator(相當於node) it1=list.iterator;//返回乙個迭代器 父型別 變數=子類物件

iteraror it2=list.iterator();//返回乙個迭代器

while(it1.hasnext)

類就是型別,可以當做返回值型別

例:鍊錶中的node類 同理介面也可以當做返回值型別,以前返回是返回乙個值,現在自己寫的類是返回乙個整體,裡面包含了很多,跟物件一樣

內部類class outclass

//可以正常訪問外部類的屬性及方法,無視訪問限定符

}建立內部類物件:外部類物件.new內部類();

靜態類沒有繫結外部類的物件,所以無法訪問外部類的屬性(靜態屬性除外)

內部類可以訪問外部類的屬性

Java介面巢狀

package lu.nesting import static lu.utils.print.import lu.nesting.a.dimp2 介面可以被實現為private,相同的語法既適用於巢狀介面也適用於巢狀類 好處 a.dimp2只能被其自身使用。你無法說他實現了乙個private介面d...

Java之巢狀介面

在學習介面的過程中,這次的巢狀介面對介面的知識覆蓋的更加全面,所以在這為讀者們進行講解。指介面可以巢狀在類或其他的介面中。但凡事的存在必有其必然性,也存在一定的規則約束。接下來我們通過以下 進行分析得出我們應該掌握的一些規則。package lession08 class a public clas...

巢狀類 匿名類 密封類

巢狀類 在c 中可以將乙個類定義在另乙個類的內部,外部的叫外部類,內部的巢狀類 namespace 27 set public void hello 巢狀類 public class web webname,weburl class program 匿名類 如果某個類的例項物件只會使用到一次,可以使...