<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Java-黑蝙蝠  
    My name is mozart0
    外表澀苦但留醇香于舌尖
    online
    Adult Dating
    公告
    • 多一份自信,多一份成功!
      多看一本書,多一份機遇!
      多一次微笑,多一份快樂!
    日歷
    <2006年10月>
    24252627282930
    1234567
    891011121314
    15161718192021
    22232425262728
    2930311234
    統計
    • 隨筆 - 10
    • 文章 - 0
    • 評論 - 32
    • 引用 - 0

    導航

    常用鏈接

    留言簿(6)

    隨筆分類(10)

    隨筆檔案(10)

    相冊

    天氣預報

    常去論壇

    搜索

    •  

    積分與排名

    • 積分 - 38601
    • 排名 - 1191

    最新評論

    閱讀排行榜

    評論排行榜

     
    ?1 /*
    ?2 ?*?
    ?3 ????內部類的種類,可細分為四種:?
    ?4 ?1?類級別的?即用static修飾的內部類
    ?5 ?2?非static??不用static修飾的內部類
    ?6 ?3?寫在方面里面的內部類
    ?7 ?4?匿名內部類(常用在事件監聽里)
    ?8 ???下面我們通過例子來認識Inner?Class
    ???????????先介紹前2種 即1 和 2
    ???????? Author:blackbat
    ?9 ???2006-10-3?2:04
    10 ?*
    11 ? */

    12
    13 class ?ImOutClass {
    14 ????? private ? static ?String?staticAtt? = ? " 外部類的類變量 " ;
    15 ????? private ??String?instAtt? = ? " 外部類的實例變量 " ;
    16 ????
    17 ???? // ?private?static?String?xx?=?"外部靜態變量";????
    18 ???? // ?private??String?xx?=?"外部類的實例變量";
    19
    20 ???? // 外部類的非靜態方法
    21 ???? public ? void ?instanMethod() {
    22 ????????System.out.println( " 和外部類實例方法 " );
    23 ????}

    24
    25 ???? // 外部類的靜態方法
    26 ???? public ? static ? void ?staticMethod() {
    27 ????????System.out.println( " 和外部類靜態方法 " );
    28 ????}

    29
    30 ???? // 靜態內部類(static?Inner?Class)
    31 ???? public ? static ? class ??StaticInnerClass {
    32 ????????
    33 ???????? public ?StaticInnerClass() {
    34 ????????????System.out.println( " 我是靜態內部類 " );
    35 ????????}

    36
    37 ???????? public ? void ?access() {
    38 ????????????System.out.println( " 我可以訪問 " + staticAtt);
    39 ????????????staticMethod();
    40 ??????????? // TestIt.java:40:?non-static?method?instanMethod()?cannot?be?referenced?from?a?static?context
    41 ?????????? // instanMethod();
    42 ????????}

    43
    44 ????}

    45 ????
    46 ???? // 非靜態內部類(non-static?Inner?Class)
    47 ???? public ? class ?InstInnerClass {
    48 ????????
    49 ???????? public ? void ?InstInnerClass() {
    50 ????????????System.out.println( " 我是成員級內部類,非靜態內部類 " );
    51 ????????}

    52
    53 ???????? public ? void ?access() {
    54 ????????????System.out.println( " 我可以訪問 " + instAtt);
    55 ????????????instanMethod();
    56 ????????????staticMethod();
    57 ????????}

    58
    59 ????}

    60
    61 ?}
    		
    				
    下面是測試類,即如何訪問剛才所建立的內部類。

    ? public ? class ?TestIt {

    ?????
    public ? static ? void ?main(String?blackbat[]) {
    ?????????
    // 建立靜態內部類(static?Inner?Class)的對象
    ?????????ImOutClass.StaticInnerClass?staticIC? = ? new ?ImOutClass.StaticInnerClass();
    ?????????staticIC.access();

    ?????????
    /* ?建立非靜態內部類(non-static?Inner?Class)的對象
    ??????????*??注意這種建立對象的格式?首先創建外部類的對象
    ??????????*??然后使用對象.new?來創建。
    ??????????
    */

    ?????????ImOutClass??outC?
    = ? new ?ImOutClass();
    ?????????ImOutClass.InstInnerClass?inC
    = ?outC. new ?InstInnerClass();
    ?????????inC.access();
    ?????}


    ?}

    ?

    ??
    上面我們認識了前2中類型的內部類,下面我們來認識后2種類型的內部類。


    import?javax.swing.JFrame;
    import?java.awt.event.*;


    class??InnerClassTest2?extends?JFrame{

    ????
    public?static?void?main(String[]?args)?{
    ????????InnerClassTest2??out?
    =?new?InnerClassTest2();
    ????????Object?obj?
    =?out.inSomeMethod();
    ????????System.out.print(obj);
    //實際調用了obj.toString();

    ????????JFrame?frame?
    =?new?JFrame("Anonymous?Inner?Class?Example");
    ????????
    ????????
    //匿名內部類,注意其寫法。(Anonymous?Inner?Class)
    ????????frame.addWindowListener(new?WindowAdapter(){
    ????????????
    public?void?windowClosing(WindowEvent?e){
    ????????????????System.exit(
    0);
    ????????????}

    ????????}
    );//這里以分號結束。

    ????????frame.setVisible(
    true);
    ????????frame.setSize(
    200,300);
    ????}


    ????
    public?Object?inSomeMethod(){
    ????????
    ????????
    //方法里的內部類(Method?Inner?Class)
    ????????class?methodInnerClass{
    ????????????
    public?String?toString(){
    ????????????????
    return?"my?nickname?is?white";
    ????????????}

    ????????}


    ????????
    return?new?methodInnerClass();//返回該內部類對象
    ????}


    }



    最近正在備戰scjp,復習到內部類這章故整理一下,加深印象。:)
    ok?,?到此為止。?以上代碼?xp+jdk5.0測試通過。


    posted on 2006-10-04 02:04 黑蝙蝠 閱讀(865) 評論(1)  編輯  收藏 所屬分類: J2SE(基礎)
    評論:
    • # re: 搞定Inner Class(內部類)  久城 Posted @ 2006-10-12 14:13
      不錯,學習中...
      PS:寫在方法里的內部類主要需要注意,方法里的內部類不能訪問該方法中的局部變量,但能訪問外類的成員變量..  回復  更多評論   

     
    Copyright © 黑蝙蝠 Powered by: 博客園 模板提供:滬江博客
    主站蜘蛛池模板: 91天堂素人精品系列全集亚洲| 亚洲成av人片一区二区三区 | 免费人成视网站在线观看不卡| 精品亚洲国产成人| 69成人免费视频无码专区| 亚洲中文字幕无码久久| 好爽…又高潮了免费毛片| 国产亚洲综合一区二区三区| 亚洲国产精品一区二区第四页| 一级黄色片免费观看| 亚洲乱码一区二区三区在线观看| 精品熟女少妇aⅴ免费久久 | 日本高清不卡aⅴ免费网站| 亚洲精品高清无码视频| 久9久9精品免费观看| 亚洲综合激情六月婷婷在线观看| 免费观看AV片在线播放| 亚洲av日韩专区在线观看| 亚洲AV无码乱码精品国产| a级毛片免费网站| 日韩精品一区二区亚洲AV观看 | 日韩高清在线高清免费| 青青草国产免费国产是公开 | 四虎永久在线精品免费网址 | 大地资源网高清在线观看免费| 久久亚洲精品国产精品| 亚洲成在人线aⅴ免费毛片| 香蕉视频免费在线| 亚洲精品狼友在线播放| 日韩版码免费福利视频| 色吊丝性永久免费看码| 亚洲av片劲爆在线观看| 日韩成人免费在线| 久久国产乱子精品免费女| 亚洲ts人妖网站| 中文字幕精品无码亚洲字| 91黑丝国产线观看免费| 色吊丝免费观看网站| 亚洲视频小说图片| 亚洲国产成人精品久久久国产成人一区二区三区综 | 久久99热精品免费观看动漫|