黑馬程式設計師 java學習筆記 介面

2021-06-20 03:30:48 字數 1728 閱讀 8524

介面(inte***ce):初期理解,可以認為是乙個特殊的抽象類

當抽象類中的方法都是抽象的,那麼該類可以通過介面的形式來表示

class用於定義類

inte***ce用於定義介面

介面定義時,格式特點:

1介面中常見定義:常量、抽象方法。

2介面中的成員都有固定修飾符。

常量:public static final

方法:public abstract  

介面中的成員都是public的 

介面是不可以建立物件的,因為有抽象方法。

需要被子類實現,子類對介面中的方法全部覆蓋後,子類才可以例項化。

否則子類是乙個抽象類

abstract(抽象)當多個類中出現相同功能,但是功能主體不同,這時可以進行向上抽取,這時,只抽取功能定義,而不抽取功能主體

抽象方法必須放在抽象類中:  abstract class student

抽象類的特點:1抽象方法一定在抽象類中

2抽象方法和抽象類必須被abstract關鍵字修飾

3抽象類不可以用new建立物件,因為呼叫抽象方法沒意義

4抽象類中的方法要被使用,必須由子類複寫其所有的抽象方法後,建立子類物件呼叫

如果子類只覆蓋了部分抽象方法,那麼該子類還是乙個抽象類

抽象類和一般類沒有太大不同。該如何描述事物,就如何描述事物,只不過,該事物出現了一些看不懂的東西

這些不確定的部分,也是該事物的功能,需要明確出來,但是無法定義主體,通過抽象方法來表示

抽象模擬一般類多了個抽象函式

抽象類不可以例項化

特殊:抽象類中可以不定義抽象方法,這樣做僅僅是不讓該類建立物件。

內部類:就是乙個類定義在另乙個的裡面,對裡面那個類就稱為內部類(內建類、巢狀類)

訪問特點:內部類可以直接訪問外部類中的成員,包括私有成員

(之所以可以直接訪問外部類中的成員,是因為內部類中持有了乙個外部類的引用,格式  外部類名.this)

而外部類要訪問內部類中的成員必須要建立內部類的物件

訪問格式:1當內部類定義在外部類的成員位置上,而且非私有,在外部其他類中,可以直接建立內部類物件

格式:   外部類名 變數名=外部類物件.內部類物件

2當內部類在成員位置上時,就可以被成員修飾符所修飾。

比如、private 將內部類在外部類中進行封裝 

static 內部類就具備了靜態的特性

當內部類被static修飾後,只能直接訪問外部類中的static成員。

在外部其他類中,如何直接訪問靜態內部類? new 外部類名.內部類名().內部類非靜態成員()

注意:當內部類中定義了靜態成員,該內部類必須是static的。

當外部類中的靜態方法訪問內部類時,內部類也必須是靜態的

當描述事物時,事物的內部還有事物,該事物用內部類來描述。因為內部事物在使用外部事物的內容

內部類定義在區域性時,

1不可以被成員修飾符修飾

2可以直接訪問外部類中的成員,因為還持有外部類中的引用。

但是不可以訪問它所在的區域性中的變數,只能訪問被final修飾的區域性變數。

匿名內部類:

1匿名內部類其實就是內部類的簡寫格式

2定義匿名內部類的前提

內部類必須是繼承乙個類或者實現介面

3匿名內部類的格式:  new 父類或者介面()

4其實匿名內部類就是乙個匿名子類物件,而且這個物件有點胖(可以理解為乙個帶內容的物件)

5匿名內部類中定義的方法最好不要超過3個

黑馬程式設計師 Java 學習筆記

filewriter 建立乙個filewriter物件,該物件一被初始化就必須明確被操作的檔案,而且該檔案會被建立到指定的目錄下。如果該目錄下已有同名檔案,將被覆蓋。下面的例子是將客戶端的檔案拷貝到伺服器上 客戶端 socket s newsocket 1.1.1.1 10000 定義客戶端的套接字...

黑馬程式設計師 JAVA學習筆記2

asp.net android ios開發 net培訓 期待與您交流!詳細請檢視 介面中的成員變數都是publci 的static 的和final 的。介面中的方法都是 public 的。單例模式 表示乙個類只會生成唯一的乙個物件。怎樣才能乙個類只會生成乙個物件呢 首先其構造方法是不應該被外界訪問的...

黑馬程式設計師 java學習筆記 列舉

假設用1 7分別表示星期一到星期日,一般0表示星期日 6表示星期六 但有人可能會寫成int weekday 0 或即使使用常量方式也無法阻止意外。列舉就是要讓某個型別的變數的取值只能為若干個固定值中的乙個,否則,編譯器就會報錯。列舉可以讓編譯器在編譯時就可以控制源程式中填寫的非法值,普通變數的方式在...