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

    相冊

    天氣預報

    常去論壇

    搜索

    •  

    積分與排名

    • 積分 - 38761
    • 排名 - 1193

    最新評論

    閱讀排行榜

    評論排行榜

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

     
    Copyright © 黑蝙蝠 Powered by: 博客園 模板提供:滬江博客
    主站蜘蛛池模板: 7m凹凸精品分类大全免费| 亚洲精品无码日韩国产不卡av| 一边摸一边桶一边脱免费视频| 毛片免费观看视频| 亚洲一级高清在线中文字幕| 91频在线观看免费大全| 亚洲黄色免费网址| 最近免费视频中文字幕大全| 久久99亚洲网美利坚合众国| 免费国产污网站在线观看15| 亚洲人精品午夜射精日韩| 国产免费久久精品丫丫| 亚洲精品无码mv在线观看网站| 亚洲国产精品专区| 成年网站免费视频A在线双飞| avtt天堂网手机版亚洲| 无码永久免费AV网站| 亚洲大尺度无码无码专线一区| 国产精品无码一区二区三区免费| 免费在线观看亚洲| 自拍偷自拍亚洲精品被多人伦好爽| 亚洲另类激情综合偷自拍| 99re在线精品视频免费| 亚洲资源最新版在线观看| 成人爱做日本视频免费| 日韩毛片一区视频免费| 亚洲αv久久久噜噜噜噜噜| 亚洲网站在线免费观看| 亚洲女初尝黑人巨高清| 免费国产在线视频| 亚洲国产精品综合久久20| 国产免费观看a大片的网站| 成人毛片100免费观看| 亚洲色图.com| 国产免费人成在线视频| A级毛片高清免费视频在线播放| 亚洲精品一卡2卡3卡三卡四卡| 日本黄色免费观看| 国产午夜精品久久久久免费视 | 国产精品亚洲一区二区三区在线观看 | 窝窝影视午夜看片免费|