歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Java內隱類(Java Inner Class)

Java內隱類(Java Inner Class)

日期:2017/3/1 10:08:31   编辑:Linux編程

內隱類是一個定義在Class中的Class,有static和非static兩種。inner class是外部類的一個成員變量。non-static的inner class可以訪問外部類的所有變量。因為inner class是外部類的一個成員變量,其可以用public、private、protected和package private等modifier來定義。

Static Nested Classes

正如一個類的靜態變量,static inner class屬於其外部類,不屬於外部類的instance(object),他不能訪問外部類的非靜態變量。static inner class只能通過外部類的instance(object)來訪問外部類的非靜態變量。

注意:

static inner class其實和普通的類基本一樣。要想使用靜態內部類需要使用以下格式:

OuterClass.StaticNestedClass nestedObject =new OuterClass.StaticNestedClass();

Non-static Inner Class

Non-static inner class與外部類的非靜態成員變量類似,它屬於外部類的instance(對象),能夠訪問外部類對象的所有成員變量和方法。由於其能夠訪問外部類對象的成員變量和方法,因此他不能定義靜態變量和靜態方法。

內部類的對象只能存在於外部類的對象之中

由於內部類的對象只能存在於外部類的對象之中,因此,要聲明一個內部類的對象,需要先實例化外部類的一個對象。具體的語法格式如下:

OuterClass.InnerClass innerObject = outerObject.new InnerClass();

Copyright © Linux教程網 All Rights Reserved