日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

Java内部类及其实例化

發(fā)布時(shí)間:2025/3/15 java 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java内部类及其实例化 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在 Java 中,允許在一個(gè)類(或方法、語句塊)的內(nèi)部定義另一個(gè)類,稱為內(nèi)部類(Inner Class),有時(shí)也稱為嵌套類(Nested?Class)。

內(nèi)部類和外層封裝它的類之間存在邏輯上的所屬關(guān)系,一般只用在定義它的類或語句塊之內(nèi),實(shí)現(xiàn)一些沒有通用意義的功能邏輯,在外部引用它時(shí)必須給出完整的名稱。

使用內(nèi)部類的主要原因有:

  • 內(nèi)部類可以訪問外部類中的數(shù)據(jù),包括私有的數(shù)據(jù)。
  • 內(nèi)部類可以對(duì)同一個(gè)包中的其他類隱藏起來。
  • 當(dāng)想要定義一個(gè)回調(diào)函數(shù)且不想編寫大量代碼時(shí),使用匿名(anonymous)內(nèi)部類比較便捷。
  • 減少類的命名沖突。

請(qǐng)看下面的例子:

  • public?class?Outer?{
  • private?int?size;
  • public?class?Inner?{
  • private?int?counter?=?10;
  • public?void?doStuff()?{
  • size++;
  • }
  • }
  • public?static?void?main(String?args[])?{
  • Outer?outer?=?new?Outer();
  • Inner?inner?=?outer.new?Inner();
  • inner.doStuff();
  • System.out.println(outer.size);
  • System.out.println(inner.counter);
  • // 編譯錯(cuò)誤,外部類不能訪問內(nèi)部類的變量
  • System.out.println(counter);
  • }
  • }
  • 這段代碼定義了一個(gè)外部類 Outer,它包含了一個(gè)內(nèi)部類 Inner。將錯(cuò)誤語句注釋掉,編譯,會(huì)生成兩個(gè) .class 文件:Outer.class 和?Outer$Inner.class。也就是說,內(nèi)部類會(huì)被編譯成獨(dú)立的字節(jié)碼文件。

    內(nèi)部類是一種編譯器現(xiàn)象,與虛擬機(jī)無關(guān)。編譯器將會(huì)把內(nèi)部類翻譯成用 $ 符號(hào)分隔外部類名與內(nèi)部類名的常規(guī)類文件,而虛擬機(jī)則對(duì)此一無所知。

    注意:必須先有外部類的對(duì)象才能生成內(nèi)部類的對(duì)象,因?yàn)閮?nèi)部類需要訪問外部類中的成員變量,成員變量必須實(shí)例化才有意義。

    內(nèi)部類是 Java 1.1 的新增特性,有些程序員認(rèn)為這是一個(gè)值得稱贊的進(jìn)步,但是內(nèi)部類的語法很復(fù)雜,嚴(yán)重破壞了良好的代碼結(jié)構(gòu), 違背了Java要比C++更加簡單的設(shè)計(jì)理念。

    內(nèi)部類看似增加了—些優(yōu)美有趣,實(shí)屬?zèng)]必要的特性,這是不是也讓Java開始走上了許多語言飽受折磨的毀滅性道路呢?本教程并不打算就這個(gè)問題給予一個(gè)肯定的答案。

    六. 異常處理
    1.異常處理基礎(chǔ)
    2.異常類型
    3.未被捕獲的異常
    4.try和catch的使用
    5.多重catch語句的使用
    6.try語句的嵌套
    7.throw:異常的拋出
    8.throws子句
    9.finally塊
    10.Java的內(nèi)置異常
    11.創(chuàng)建自己的異常子類
    12.斷言
    七. 多線程編程
    1.線程的概念
    2.Java線程模型
    3.主線程
    4.創(chuàng)建線程
    5.創(chuàng)建多線程
    6.isAlive()和join()的使用
    7.線程優(yōu)先級(jí)
    8.線程同步
    9.線程間通信
    10.線程死鎖
    11.線程的掛起、恢復(fù)和終止

    與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖

    總結(jié)

    以上是生活随笔為你收集整理的Java内部类及其实例化的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。