<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)

    相冊

    天氣預報

    常去論壇

    搜索

    •  

    積分與排名

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

     
    Copyright © 黑蝙蝠 Powered by: 博客園 模板提供:滬江博客
    主站蜘蛛池模板: 免费少妇a级毛片| 在线观看的免费网站| 国拍在线精品视频免费观看| 久久亚洲AV午夜福利精品一区| 国产精品小视频免费无限app| 亚洲精品国产电影| 免费在线观看一区| 亚洲第一福利网站在线观看| 男女超爽视频免费播放| 又大又黄又粗又爽的免费视频| 国产精品亚洲专区无码不卡| 国产在线98福利播放视频免费 | 天天摸夜夜摸成人免费视频| 亚洲av成人一区二区三区| 69天堂人成无码麻豆免费视频| 亚洲成电影在线观看青青| 在线观看免费高清视频| 亚洲av永久中文无码精品综合| 国产精品视_精品国产免费| 理论片在线观看免费| 亚洲伊人色欲综合网| 日本免费大黄在线观看| 亚洲伦理中文字幕| 国产一级大片免费看| 一区二区三区在线免费| 久久亚洲免费视频| 成熟女人特级毛片www免费| 国产精品成人亚洲| 亚洲AV日韩AV天堂一区二区三区 | 亚洲成Av人片乱码色午夜| 91香蕉国产线观看免费全集| 在线综合亚洲中文精品| 亚洲人午夜射精精品日韩| 99久久久国产精品免费牛牛四川 | ww4545四虎永久免费地址| 亚洲AV噜噜一区二区三区| 亚洲国产精品毛片av不卡在线| 国产一级片免费看| 亚洲人成网站在线观看播放青青 | 亚洲中文字幕在线观看| 久久www免费人成看片|