• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      探討Java中內(nèi)部類及其用法

      2019-09-10 07:22:44劉欣
      天津教育·中 2019年5期
      關(guān)鍵詞:部類驅(qū)動(dòng)程序靜態(tài)

      劉欣

      Java中的內(nèi)部類在程序中起著“心臟”的作用,能用此實(shí)現(xiàn)特定的功能,具有非常好的封裝性。使用內(nèi)部類可以很方便地編寫事件驅(qū)動(dòng)程序。本文將結(jié)合簡(jiǎn)單實(shí)例內(nèi)部類理解及用法進(jìn)行詳細(xì)描述。

      一、內(nèi)部類的定義及分類

      內(nèi)部類指的是Java類體內(nèi)定義的類,也稱為嵌套類。通常類體內(nèi)有屬性與方法兩大部分,有了內(nèi)部類,類體內(nèi)可包括屬性、方法及類三個(gè)部分。內(nèi)部類可分為成員內(nèi)部類、靜態(tài)內(nèi)部類與方法內(nèi)部類,以及一種特殊的匿名內(nèi)部類。下面分別闡述。

      二、成員內(nèi)部類

      成員內(nèi)部類指的是與外部類的屬性、方法并列定義且作為外部類的一個(gè)成員存在的類。比如:

      class outter{

      void f(? ?){ //inner bb=new inner(); bb.g();

      System.out.print(“我是外部類的方法”);}

      class inner{ void g(? ?){

      System.out.print(“我是內(nèi)部類的方法”);}}

      public static void main(String args[]){

      outter.inner aa=new outter(? ).new inner(? ?);

      aa.g(? ?);}}

      例中inner是成員內(nèi)部類。若想通過外部類去訪問內(nèi)部類,則需通過外部類對(duì)象創(chuàng)建內(nèi)部類對(duì)象,語法如下:

      外部類名:內(nèi)部類名變量名=new外部類名(? )·new內(nèi)部類名(? );然后用對(duì)象訪問內(nèi)類部里的方法。代碼如下:

      outter.inner aa=new outter().new inner();

      aa.g(? ?);

      另外,可在內(nèi)部類里訪問外部類成員方法。

      三、靜態(tài)內(nèi)部類

      靜態(tài)內(nèi)部類是內(nèi)部類的前面加上了修飾詞static,舉例如下:

      public class outter {

      void f(? ) {

      System.out.println("我是外部類的方法");

      new inner(? ?).g(? ?); }

      static class inner{? void g(?  ) {

      System.out.println("我是內(nèi)部類的方法");}}

      public static void main(String[] args) {

      outter.inner aa=new outter.inner(? ?);

      aa.g(? ?); }}

      其中inner就是靜態(tài)內(nèi)部。如果想通過外部類去訪問內(nèi)部類,只需要直接創(chuàng)建外部類的對(duì)象去訪問內(nèi)部方法,創(chuàng)建對(duì)象的具體語法格式如下:

      外部類名.內(nèi)部類名 對(duì)象名=new 外部類名.內(nèi)部類名();

      然后用外部類對(duì)象去訪問內(nèi)部類里的方法。對(duì)應(yīng)上例中的代碼為:

      outter.inner aa=new outter.inner();

      四、匿名內(nèi)部類

      匿名內(nèi)部類顧名思義,就是沒有名字的內(nèi)部類,而且是方法內(nèi)部類。在GUI編程中用得較多,用于實(shí)現(xiàn)每個(gè)組件注冊(cè)了監(jiān)聽事件后,來完成事件的響應(yīng)動(dòng)作。格式為:

      方法名(new 接口名(? ?){});

      舉例如下:

      interface shout{ void fg(); }

      public class outter {

      public static void main(String[] args) {

      fh(new shout(? ?) { public void fg(? ? ) {

      System.out.println("匿名內(nèi)部類實(shí)現(xiàn)"); }});}

      public static void fh(shout ab) {ab.fg(? ?); }}

      五、方法內(nèi)部類

      方法內(nèi)部類又叫局部?jī)?nèi)部類,該類位于方法體內(nèi),使用范圍比方法小,比較少用。特別要注意的是方法體內(nèi)不能定義靜態(tài)方法內(nèi)部類。

      六、結(jié)語

      除了可方便定義外,內(nèi)部類還具有如下特點(diǎn):

      1.不為同一包的其他類所見,具有很好的封裝性。

      2.使用內(nèi)部類可用于編寫事件驅(qū)動(dòng)程序。

      3.匿名內(nèi)部類可以方便的定義運(yùn)行時(shí)回調(diào)。

      (責(zé)任編輯? 李 芳)

      猜你喜歡
      部類驅(qū)動(dòng)程序靜態(tài)
      靜態(tài)隨機(jī)存儲(chǔ)器在軌自檢算法
      探討Java中內(nèi)部類及其用法
      天津教育(2019年14期)2019-03-06 11:14:18
      固定資本、生產(chǎn)資料優(yōu)先增長(zhǎng)與工業(yè)化
      ——基于三大部類再生產(chǎn)圖式的結(jié)構(gòu)分析*
      機(jī)床靜態(tài)及動(dòng)態(tài)分析
      具7μA靜態(tài)電流的2A、70V SEPIC/升壓型DC/DC轉(zhuǎn)換器
      50t轉(zhuǎn)爐靜態(tài)控制模型開發(fā)及生產(chǎn)實(shí)踐
      上海金屬(2013年6期)2013-12-20 07:57:59
      馬克思再生產(chǎn)模型中的最高、最低積累率
      馬克思兩部類模型非均衡增長(zhǎng)分析及模擬
      驅(qū)動(dòng)程序更新與推薦
      驅(qū)動(dòng)程序更新與推薦
      肥西县| 乡宁县| 海口市| 井研县| 司法| 新余市| 固始县| 芦山县| 措美县| 崇文区| 溧水县| 德庆县| 宝兴县| 乐山市| 弋阳县| 湘阴县| 丹江口市| 武鸣县| 青神县| 大新县| 浦江县| 方山县| 论坛| 普定县| 宜春市| 讷河市| 视频| 波密县| 京山县| 乳山市| 晋江市| 兰西县| 昌都县| 鲁山县| 固阳县| 六枝特区| 石狮市| 东安县| 沽源县| 获嘉县| 孝昌县|