Java物件導向之內部類

2021-08-19 08:36:25 字數 2487 閱讀 2516

1.內部類

(1)內部類:在b類內部定義a類,a類就屬於b的內部類

內部類訪問外部類的特點:

它可以直接訪問外部類的成員,包括私有

外部類如何訪問內部類的成員?

在外部類的成員方法中,通過建立內部類物件的方式間接訪問...

class outer } 

//外部類的成員位置

public void method()

}

(2)內部類的分類

1)成員內部類:在外部類的成員位置   

class outer

}

2)區域性內部類:在外部類的區域性位置

class outer

}}

(3) 成員內部類:

1)可以直接外部類的成員,包括私有

外部類要訪問內部類(非靜態的內部類)

的成員方法:

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

class outer

}}

問題:外部類outer如何訪問內部類inner中的show()方法?

//測試類

public class outerdemo

}

2)關於成員內部類的修飾符:

private修飾:  作用:保證資料的安全性!

static修飾:可以把靜態內部類看成是外部類的成員.

特點: 靜態成員內部類訪問外部類的資料,該資料必須static修飾

3)對於外部類訪問

靜態的成員內部類

的訪問格式

外部類名.內部類名 物件名 = new 外部類名.內部類名() ;

//把靜態的成員內部類看成了外部類的成員

(4)區域性內部類

1)可以訪問外部類的成員包括私有...

在外部類的區域性位置去訪問內部類的show(),需要在區域性位置建立內部了物件,通過物件去訪問

2)區域性內部類訪問區域性變數

//定義外部類

class outer

} }}

面試題:

區域性內部類訪問區域性變數,那麼會出現問題?(jdk7以前包括jdk7,這個有問題的)

會報錯,需要給區域性變數新增final修飾...(jdk1.8不會有問題...)

2.匿名內部類

(1)前提是有乙個類或者介面

這個類可以是具體類也可以是抽象類

new 類名或者介面名

(2) 匿名內部類的本質:

是繼承了該類或者實現了該介面子類物件...

//定義乙個介面

inte***ce inter

1)呼叫介面乙個方法的時候

//定義乙個類實現這介面...

class outer

}.show();

}}

2)兩個方法呼叫

class outer

@override

public void show()

};i.show();

i.show2(); }

}

(3)實際開發中,介面作為形式引數的問題

如果形式引數是介面:

傳統的方式: 1)提供給介面的子實現類  2)內部類的方式(不需要提供子實現類)

如:

inte***ce inter

//具體類

class studentdemo

}

1)提供給介面的子實現類

class interimpl implements inter	}

//測試類

public class demo

}

2)內部類的方式(不需要提供子實現類)

//測試類

public class demo

};i.study();

}}

(4) 匿名內部類面試題:

按照要求,補齊**

inte***ce inter

class outer

class outerdemo

}要求在控制台輸出」helloworld」

分析:outer.method() :當前這個method方法是靜態方法

outer.method().show(); >返回乙個物件.show(),又由於show()方法是乙個介面中的方法,返回值是乙個介面型別

class outer

};}}

Java之內部類

1 內部類的概念 宣告在另外乙個類裡面的類就是內部類。2 內部類的4種形式 1 靜態內部類 2 非靜態成員內部類 3 區域性內部類 4 匿名內部類 1 語法格式 在匿名子類中呼叫父類的無參構造 new 父類 在匿名子類中呼叫父類的有參構造 new 父類 實參列表 介面沒有構造器,這裡表示匿名子類呼叫...

Java之內部類

內部類 inner class 就是定義在另外乙個類裡面的類。與之對應,包含內部類的類被稱為外部類。內部類的主要作用如下 內部類提供了更好的封裝,可以把內部類隱藏在外部類之內,不允許同乙個包中的其他類訪問該類 內部類的方法可以直接訪問外部類的所有資料,包括私有的資料 內部類所實現的功能使用外部類同樣...

java物件導向(內部類)

內部類 將乙個類定義在另乙個類的裡面,對裡面那個類就稱為內部類 內建類,巢狀類 訪問特點 1,內部類可以直接訪問外部類中的成員,包括私有成員.2,而外部類要訪問內部類中的成員必須要建立內部類的物件.內部類的訪問規則 1,內部類可以直接訪問外部類的成員,包括私有.之所可以直接訪問外部類中的成員,是因為...