Java内部类及其实例化
在 Java 中,允許在一個類(或方法、語句塊)的內部定義另一個類,稱為內部類(Inner Class),有時也稱為嵌套類(Nested?Class)。
內部類和外層封裝它的類之間存在邏輯上的所屬關系,一般只用在定義它的類或語句塊之內,實現一些沒有通用意義的功能邏輯,在外部引用它時必須給出完整的名稱。
使用內部類的主要原因有:
- 內部類可以訪問外部類中的數據,包括私有的數據。
- 內部類可以對同一個包中的其他類隱藏起來。
- 當想要定義一個回調函數且不想編寫大量代碼時,使用匿名(anonymous)內部類比較便捷。
- 減少類的命名沖突。
請看下面的例子:
這段代碼定義了一個外部類 Outer,它包含了一個內部類 Inner。將錯誤語句注釋掉,編譯,會生成兩個 .class 文件:Outer.class 和?Outer$Inner.class。也就是說,內部類會被編譯成獨立的字節碼文件。
內部類是一種編譯器現象,與虛擬機無關。編譯器將會把內部類翻譯成用 $ 符號分隔外部類名與內部類名的常規類文件,而虛擬機則對此一無所知。
注意:必須先有外部類的對象才能生成內部類的對象,因為內部類需要訪問外部類中的成員變量,成員變量必須實例化才有意義。
內部類是 Java 1.1 的新增特性,有些程序員認為這是一個值得稱贊的進步,但是內部類的語法很復雜,嚴重破壞了良好的代碼結構, 違背了Java要比C++更加簡單的設計理念。
內部類看似增加了—些優美有趣,實屬沒必要的特性,這是不是也讓Java開始走上了許多語言飽受折磨的毀滅性道路呢?本教程并不打算就這個問題給予一個肯定的答案。
六. 異常處理
1.異常處理基礎
2.異常類型
3.未被捕獲的異常
4.try和catch的使用
5.多重catch語句的使用
6.try語句的嵌套
7.throw:異常的拋出
8.throws子句
9.finally塊
10.Java的內置異常
11.創建自己的異常子類
12.斷言
七. 多線程編程
1.線程的概念
2.Java線程模型
3.主線程
4.創建線程
5.創建多線程
6.isAlive()和join()的使用
7.線程優先級
8.線程同步
9.線程間通信
10.線程死鎖
11.線程的掛起、恢復和終止
總結
以上是生活随笔為你收集整理的Java内部类及其实例化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: css中选择器介绍
- 下一篇: java swt最小化到托盘_SWT 中