亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

四種內部類詳細解釋和代碼示例

2019-11-14 15:16:12
字體:
來源:轉載
供稿:網友


//成員內部類
成員變量 :

    成員內部類 : (詳情:請看成員內部類文件夾,有代碼示例)
        //成員內部類
        //可以用訪問控制權限的修飾符修飾,如:PRivate 私有的。
        //public,protected,private,缺省(默認,default)
        //在成員內部類的內部可以隨意訪問外部類的成員方法和成員變量
        //不能在成員內部類里面聲明靜態方法和靜態變量
        //先編譯一個外部類的類文件然后摘編譯一個內部類的類文件
        //內部類的類名:_01_OuterClass$InnerClass
            可以等同看做成員變量,可以隨意訪問外部類的任意變量和任意方法,并且,不能在成員內部類中聲明靜態變量和靜態方法

  
/*
    變量:
        成員變量 -- 普通內部類
        靜態變量 -- 靜態內部類
        局部變量 -- 局部內部類
        //形參變量
        實參變量 -- 匿名內部類

    變量聲明:
        數據類型  變量名  賦值
        類
        String s1; String.java--->String.class-->String
        String.java

    關于成員內部類
    
        1.成員內部類可以等同看做成員變量
        
        2.成員內部類中不能有靜態聲明.
        
        3.成員內部類可以訪問外部類所有的數據.
*/
public class _01_OuterClass{
    
    //靜態變量
    private static String s1 = "A";
    
    //成員變量
    private String s2 = "B";
    
    //靜態方法
    private static void m1(){
        System.out.println("static's m1 method execute!");
    }
    
    //成員方法
    private void m2(){
        System.out.println("m2 method execute!");
    }
    
    //成員內部類
    //可以用訪問控制權限的修飾符修飾。
    //public,protected,private,缺省
    //在成員內部類的內部可以隨意訪問外部類的成員方法和成員變量
    //不能在成員內部類里面聲明靜態方法和靜態變量
    //先編譯一個外部類的類文件然后摘編譯一個內部類的類文件
    //內部類的類名:_01_OuterClass$InnerClass

    //成員內部類
    class InnerClass{
        
        //靜態變量
        //static int i = 9999;
        //靜態方法
        //public static void m3(){}
        
        //成員方法
        public void m4(){
            System.out.println(s1);
            m1();
            
            System.out.println(s2);
            m2();
        }
    }
    //相當于: InnerClass ...
    
    //入口
    public static void main(String[] args){
        
        //創建外部類對象
        _01_OuterClass oc = new _01_OuterClass();
        //怎么訪問一個成員內部類
        //外部類對象的引用名.new 內部對象
        
        InnerClass inner = oc.new InnerClass();
        
        inner.m4();
    }
    
}



      
//靜態內部類
靜態變量 :

    靜態內部類 : (詳情:請看靜態內部類文件夾,有代碼示例)
        //靜態內部類
        //可以用訪問控制權限的修飾符修飾,如:private 私有的。
        //public,protected,private,缺省(默認,default)
        //內部可以聲明靜態變量和成員變量,靜態方法和成員方法
        //可以訪問外部的靜態變量和靜態方法,不能直接訪問成員變量和成員方法(需要有對象引用)
        //成員內部類和靜態內部類命名沒區別
            可以等同看做靜態變量,可以訪問外部類的靜態變量和靜態方法,但是不能直接訪問外部類的成員變量和成員方法(要有對象引用,如同main(),也是靜態的,有引用,就什么都能調用),并且,能聲明任意變量和任意方法

  
/*
    關于靜態內部類
        1.靜態內部類可以等同看做靜態變量
        
        內部類重要的作用:可以訪問外部類中私有的數據。
        
        2.靜態內部類可以直接訪問外部類的靜態數據,無法直接訪問成員。
*/
public class _02_OuterClass{
    
    //靜態變量
    private static String s1 = "A";
    
    //成員變量
    private String s2 = "B-------";
    
    //靜態方法
    private static void m1(){
        System.out.println("static's m1 method execute!");
    }
    
    //成員方法
    private void m2(){
        System.out.println("m2 method execute!");
    }
    
    //靜態內部類
    //可以用訪問控制權限的修飾符修飾。
    //public,protected,private,缺省
    //內部可以聲明靜態變量和成員變量,靜態方法和成員方法
    //可以訪問外部的靜態變量和靜態方法,不能訪問成員變量和成員方法
    //成員內部類和靜態內部類命名沒區別
    
    //靜態內部類
    static class InnerClass{
        
        //靜態方法
        public static void m3(){
            System.out.println(s1);
            m1();
            
            //也有外部靜態類,性質一樣
            //成員變量和成員方法:無法從靜態上下文中引用非靜態 變量 s2
            _02_OuterClass a = new _02_OuterClass();
            System.out.println(a.s2+"kkkkkkkkkkkkk");//調用成員屬性,有對象引用就行
            //m2();
        }
        
        //成員方法
        public void m4(){
            System.out.println(s1);
            m1();
            
            //System.out.println(s2);
            //m2();
        }
    }
    
    
    //入口
    public static void main(String[] args){
        
        //執行m3
        _02_OuterClass.InnerClass.m3();
        
        //執行m4
        InnerClass inner = new _02_OuterClass.InnerClass();
        inner.m4();
    }
    
}



//局部內部類
局部變量(方法中寫的類) :

    局部內部類 : (詳情:請看局部內部類文件夾,有代碼示例)
            //局部內部類不能用訪問控制權限修飾符修飾。
            //但是能訪問外部方法的局部變量,但是局部變量必須用final修飾 , java8以后,可以不寫final修飾
            局部內部類中,不能聲明靜態變量和靜態方法,只能聲明成員變量和成員方法
            1 如果外部方法是靜態方法,那內部類中就不能訪問外部類的成員變量和成員方法
            2 如果外部方法是成員方法,那內部類中就能訪問外部類的成員變量和成員方法

 

  
/*
    局部內部類等同于局部變量
    
    重點:局部內部類在訪問外部類的局部變量的時候,局部變量必須使用final修飾。

    在成員方法中能聲明一個局部靜態內部類嗎?不能

    在靜態方法中能聲明一個局部靜態內部類嗎? 自己試一下 不能


*/
public class _03_OuterClass{
    
         int i1 = 222;
        static int i2 = 255;
    //方法
//---------------------------------------成員方法里面的內部類測試-------------------------
    public  void m1(){//成員方法
        
        //局部變量
        final int i = 10;//java8以后,局部內部類訪問方法的局部變量,可以不加final修飾
        
        //局部內部類;
        //局部內部類不能用訪問控制權限修飾符修飾。

        //局部內部類
        class InnerClass{
            
            //局部內部類不能有靜態聲明
            //public static void m1(){}
            
            //成員方法
            public void m2(){
                System.out.println(i); // 10  訪問局部變量
                System.out.println( i1 );//訪問外類的成員變量
                System.out.println( i2 );//訪問外類的靜態變量
            }
                
        }
        
        //調用m2
        InnerClass inner = new InnerClass();

        inner.m2();
        
    }
//---------------------------------------靜態方法里面的內部類測試-------------------------
    public static void m11(){//靜態方法
            //局部變量
        final int i = 10;//java8以后,局部內部類訪問方法的局部變量,可以不加final修飾
        
        //局部內部類;
        //局部內部類不能用訪問控制權限修飾符修飾。

        //局部內部類
        class InnerClass{
            
            //局部內部類不能有靜態聲明
            //public static void m1(){}
            
            //成員方法
            public void m22(){
                System.out.println(i); // 10  訪問局部變量
               // System.out.println( i1 );//訪問外類的成員變量
                System.out.println( i2 );//訪問外類的靜態變量
            }
                
        }
        
        //調用m2
        InnerClass inner = new InnerClass();

        inner.m22();
    }
    
    
    //入口
    public static void main(String[] args){
        _03_OuterClass oc = new _03_OuterClass();
        oc.m1();
        oc.m11();
        
    }
    
}




//匿名內部類
局部變量(調用方法傳參) :

    匿名內部類 : (詳情:請看匿名內部類文件夾,有代碼示例)
        /*匿名內部類:指在方法調用時,方法的效用需要傳入某個類對應的對象實參
        但是也可以直接new一個某個類型的一個對象,這個對象沒有名字

        如果反方定義形參,一般是個接口,那么調用的時候,要用其實現類傳入
        但是我可以不實現這個實現類,而是直接new這個接口的對象,也也可以
        相當于:省下了,書寫實現類和實例化實現類對象的代碼
        也可以這么說,直接實例化了一個類,只不過這個類和接口名相同
        */
    //優點 : 少定義一個雷
    //缺點 : 只能用一次,無法重復使用

        匿名內部類幾個原則 :
            // 1 沒有構造方法(因為匿名內部類是沒有類名的)
            // 2 不能定義任何變量(靜態,成員),不能定義任何方法(靜態,成員),不能定義任何類
            // 3 不能使抽象類(因為在創建匿名內部類的時候,會立即創建匿名內部類的對象。從而也可知匿名內部類必須實現它的抽象父類或者接口里包含的所有抽象方法)
            // 4 匿名內部類不能使public ,protected,private,static
            // 5 只能創建匿名內部類的一個實例
            // 6 匿名類和內部類中的中的this : 有時候,我們會用到一些內部類和匿名類。當在匿名類中用this時,這個this則指的是匿名類或內部類本身。這時如果我們要使用外部類的方法和變量的話,則應該加上外部類的類名。
            匿名內部類能訪問外部的靜態變量和靜態方法,私有的也能,但是不能訪問成員變量和成員方法,除非在實現類中,也要用外部類的引用去調用訪問
            


/*
    匿名內部類:指在方法調用時,方法的效用需要傳入某個類對應的對象實參
    但是也可以直接new一個某個類型的一個對象,這個對象沒有名字

    如果反方定義形參,一般是個接口,那么調用的時候,要用其實現類傳入
    但是我可以不實現這個實現類,而是直接new這個接口的對象,也也可以
    相當于:省下了,書寫實現類和實例化實現類對象的代碼
    也可以這么說,直接實例化了一個類,只不過這個類和接口名相同
*/
public class _04_OuterClass{
    
    //靜態方法
    public static void t(CustomerService cs){
        cs.logout();
    }
    
    //入口
    public static void main(String[] args){
        
        //調用t方法
        //t(new CustomerServiceImpl()); //匿名內部類 2 對應下面的類
        
        //使用匿名內部類的方式執行t方法
        //整個這個"new CustomerService(){}"就是個匿名內部類
        t(new CustomerService(){//匿名內部類 1
            public void logout(){
                System.out.println("exit!");
            }
        });
        
        //匿名內部類的優點:少定義一個類.
        //缺點:無法重復使用!
    }
    
}


//接口
interface CustomerService{
    
    //退出系統
    public void logout();
    
}

//編寫一個類實現CustomerService接口
/*
class CustomerServiceImpl implements CustomerService{ //匿名內部類 2

    public void logout(){
        System.out.println("系統已經安全退出!");
    }
}
*/


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲人成电影网站色xx| 亚洲乱码av中文一区二区| 日韩电影大全免费观看2023年上| 精品日本高清在线播放| 欧美理论电影在线播放| 国产日韩欧美在线播放| 亚洲激情视频网| 最近2019免费中文字幕视频三| 亚洲精品91美女久久久久久久| 91亚洲精品一区| 欧美成人激情在线| 亚洲美女福利视频网站| 欧美日韩国产91| 欧美疯狂xxxx大交乱88av| 中文字幕亚洲欧美一区二区三区| 亚洲第一国产精品| 国产成人精品亚洲精品| 亚洲天堂男人的天堂| 国产精品高潮视频| 欧美激情综合色| 秋霞午夜一区二区| 中文字幕视频在线免费欧美日韩综合在线看| 日韩久久免费视频| 国产精品视频不卡| 69影院欧美专区视频| 精品亚洲精品福利线在观看| 欧美大片在线看| 久久视频在线直播| 影音先锋欧美在线资源| 亚洲图片制服诱惑| 亚洲欧洲激情在线| 红桃av永久久久| 欧美性猛交视频| 欧美—级a级欧美特级ar全黄| 伦理中文字幕亚洲| 91丨九色丨国产在线| 欧美激情视频在线免费观看 欧美视频免费一| 国产一区二区三区久久精品| 亚洲国产成人精品电影| 欧美电影免费观看高清完整| 欧美日韩中文在线| 日韩三级成人av网| 日韩最新免费不卡| 久久久久久久影院| 日韩在线观看免费全集电视剧网站| 日本伊人精品一区二区三区介绍| 欧美日韩中文字幕综合视频| 黑人极品videos精品欧美裸| 久久精品中文字幕免费mv| 精品一区二区三区四区在线| 国模私拍一区二区三区| 国产精品偷伦免费视频观看的| 欧美二区乱c黑人| 日韩精品中文字幕久久臀| 91精品国产免费久久久久久| 欧美夫妻性生活xx| 久热精品在线视频| 欧美日韩福利电影| 亚洲午夜未满十八勿入免费观看全集| 日本精品视频在线播放| 国产性色av一区二区| 久久久噜噜噜久久| 久久久久一本一区二区青青蜜月| 成人免费视频97| 波霸ol色综合久久| 亚洲另类图片色| 久久免费成人精品视频| 欧美精品video| 欧美日韩国产一中文字不卡| 国产精品扒开腿爽爽爽视频| 成人精品一区二区三区电影黑人| 精品视频偷偷看在线观看| 日韩在线欧美在线国产在线| 日韩一区视频在线| 亚洲精品久久久久久久久久久| 亚洲精品美女在线观看播放| 欧美性猛交xxxx免费看久久久| 欧美裸体xxxx极品少妇| 狠狠色狠狠色综合日日小说| 久久久久国色av免费观看性色| 国产精品欧美亚洲777777| 欧美中文在线视频| 97高清免费视频| 懂色aⅴ精品一区二区三区蜜月| 国产综合视频在线观看| 欧洲午夜精品久久久| 欧美亚洲午夜视频在线观看| 亚洲一区中文字幕在线观看| 亚洲欧美在线一区二区| 97视频在线观看亚洲| 亚洲国产成人在线视频| 成人精品久久一区二区三区| 日韩专区在线观看| 欧美成人剧情片在线观看| 欧美一级视频在线观看| 国内精品久久久久伊人av| 日韩va亚洲va欧洲va国产| 欧美成人免费观看| 欧美丝袜一区二区三区| 久久久久久中文字幕| 成人av色在线观看| 91在线高清视频| 亚洲大胆人体av| 欧洲亚洲妇女av| 91精品国产91久久久久久最新| 国产999精品久久久| 色噜噜狠狠狠综合曰曰曰| 国产91精品视频在线观看| 精品亚洲一区二区三区在线播放| 色婷婷av一区二区三区久久| 成人精品一区二区三区电影黑人| 亚洲午夜激情免费视频| 国产精品香蕉在线观看| www.日韩不卡电影av| 亚洲日本欧美日韩高观看| 国产一区二区三区视频在线观看| 91精品国产高清自在线看超| 日韩美女福利视频| 欧美在线观看一区二区三区| 国产精品成人久久久久| 欧美成人激情视频| 国产精品一久久香蕉国产线看观看| 3344国产精品免费看| 国产精品白丝av嫩草影院| 精品国产欧美一区二区三区成人| 最近2019中文字幕mv免费看| 国产精品久久久久福利| 57pao国产成人免费| 日本电影亚洲天堂| 欧美成人免费网| 日韩不卡在线观看| 欧美日韩国产丝袜美女| 欧美激情精品久久久久久免费印度| 亚洲永久在线观看| 欧美日韩激情视频| 俺去亚洲欧洲欧美日韩| 久久亚洲一区二区三区四区五区高| 2024亚洲男人天堂| 日韩av影片在线观看| 亚洲综合日韩中文字幕v在线| 亚洲综合第一页| 66m—66摸成人免费视频| 日韩国产欧美区| 久久97精品久久久久久久不卡| 97国产精品免费视频| 久久偷看各类女兵18女厕嘘嘘| 欧美精品情趣视频| 亚洲另类xxxx| 91国产视频在线播放| 色噜噜狠狠狠综合曰曰曰| 91av在线视频观看| 久久成年人视频| 亚洲精品国产免费| 国产丝袜一区二区三区免费视频| 亚洲国产成人精品久久| 91影院在线免费观看视频| 91精品久久久久久久久中文字幕| 色婷婷综合久久久久中文字幕1| 91免费看视频.| 精品久久久久久久久久ntr影视| 成人国产精品免费视频| 久久综合伊人77777| 视频在线观看99| 欧日韩在线观看|