Java基礎學習之內部類

2021-07-03 22:07:34 字數 2234 閱讀 5379

內部類:把類定義在其他類的內部,這個類就被稱為內部類

classouter }

內部類的特點:

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

classouter }

} 2.外部類想要訪問內部類,必須要先建立物件

classouter }

public

voidmetod() }

內部類根據定義的位置不同,分為兩種

1.      成員內部類:定義在成員位置的內部類

2.      區域性內部類:定義在方法內部的內部類。

classouter }

public

voidmetod()

public

voidtest() }

innerdemo2 innerd =newinnerdemo2();

innerd.show(); }

} 成員內部類在其他類中的訪問方式:

成員內部類相當於外部類的乙個成員變數

訪問格式  外部類.內部類 物件名 = new 外部類().new 內部類();

outer.inner out =

newouter().newinner();

out.show();

成員內部類的修飾符: 

private   不能被外界訪問 。一般是外部類提供乙個方法給其他類來訪問私有內部類

static     只能訪問外部類的靜態成員,其內部的方法都是被靜態修飾後的方法 訪問格式  外部類.內部類   物件名 = new 外部類.內部類();

classouter }

} public

classinnerdemo }

預設修飾符  成員內部類相當於外部類的乙個成員變數

訪問格式  外部類.內部類 物件名 = new 外部類().new 內部類();

outer.inner out =

newouter().newinner();

out.show();

public   修飾的內部類,訪問時,必須先建立外部類物件,通過外部類物件去獲取內部類的引用

classouter }

} public

classinnerdemo

} static 不能與private同時出現。

可以在this前加外部類來限定,表示當前代表的是外部類的物件。

區域性位置的內部類:區域性內部類不能使用public修飾    區域性內部類也不能用static修飾

可以直接訪問外部類的成員

在區域性位置可以建立內部類的物件,通過內部類的物件來區域性呼叫內部類的方法。

區域性內部類訪問區域性變數時,該區域性變數必須是用final修飾的

因為區域性變數會隨著方法的呼叫完畢而消失,但是區域性物件並沒有立刻從堆記憶體中消失,還要使用那個變數。為了讓資料能夠繼續使用,就用final修飾,這樣,在堆記憶體中儲存的其實是乙個常量值(數值,變數會消失,但是數字仍在)。

區域性內部類不能被外界所訪問。

匿名內部類:就是內部類的簡寫。

匿名內部類必須繼承某個或者是實現沒有個介面。

格式:new 父類名或者介面名

匿名內部類呼叫自己的方法的格式:new 父類名或者介面名.方法名();

匿名內部類一般只實現乙個方法,因為多餘的方法無法呼叫。

匿名內部類其實就是乙個子類物件。

每一次建立匿名內部類,都是乙個新的物件。

匿名內部類可以按照多型的方式賦值給介面或者是父類,來完成多個方法的呼叫。

匿名內部類本質上就是繼承類或者實現了介面的子類的匿名物件。

匿名內部類的好處:用完即銷毀,記憶體能夠及時**。

inte***ceinner

classouter };

} }public

classinnertest }

java基礎之內部類

內部類分為四個模組 靜態內部類 非靜態內部類 區域性內部類 匿名內部類 首先我們來講講這幾個模組的的主要作用與區別 靜態模組 非靜態內部類 區域性內部類 匿名內部類 下面為兩個類,是為了實現以上模組而建立的,如下 innerclass類 package innerclass public void ...

Java基礎之內部類

當描述事務時,乙個事務的內部還有事務,該事務用內部類來表示,該內部事務需要用到外部事務的內容。例如 乙個人體,它裡面有各種器官 胃,肝等,拿胃來說,它要用到人體的食道,那麼我們就可以把胃定義成內部類 public class body public wei showwei public class ...

java基礎之內部類

內部類 所謂的內部類指的是在乙個類的內部繼續定義了其內部結他構類的情況 程式 class outer public void fun public class testdemo 內部類的特性 方便的訪問外部類的私有屬性,外部類也可以訪問內部類中的私有屬性。如果在內部類使用 this 關鍵字表示 外部...