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

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

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

    Cyh的博客

    Email:kissyan4916@163.com
    posts - 26, comments - 19, trackbacks - 0, articles - 220
        這幾天通過看書,瀏覽別人博客的方式學習了一下內部類,以前也學過,但是用的比較少所以總是忘記。。
    今天把自己現在所了解到的一點點關于內部類的知識記錄下來,日后又忘記的時候就看看
        廢話少說,首先內部類分為 成員內部類,局部內部類,靜態內部類,匿名累不累(累!)
       
        先來看看成員內部類吧:
       
    public class RyanTestInner {

        
    public int a = 10;
        
        
    private String me = "I Love 碧昂斯, very Love";
        String name 
    = "碧昂斯";
        
    public static void outF1(){
            
        }  
        
    class InnerClass01 {
            
    // static int mygod = 5; 成員內部類中不能聲明靜態成員變量和方法
           
    int a= 100;
           
    public void Innerf1() {
                 System.out.println(a); 
    //訪問內部類自己的成員變量
                 System.out.println(RyanTestInner.this.a);//訪問外部類的成員變量
                 System.out.println(name); //訪問外部類的屬性
                 System.out.println(me); //訪問外部類私有屬性
            }
        }
        
        
    public InnerClass01 returnInnerClass01() {
            
            
    return new InnerClass01();
        }
       
      
        
    public static void main(String[] args) {
             RyanTestInner rti 
    = new RyanTestInner();
             rti.returnInnerClass01().Innerf1();
        }
    }

    在來看看局部內部類,也就是生命在方法中的內部類:
    package com.yan.test;

    public class RyanTestInner {

        public void outF2() {
            
    int a = 100;
            
    final String b = "kiss beauty"
            
    class InnerClass1 {
              
            
    int a = 1000;    
            
            
    public void InnerF1(){
             System.out.println(b); 
    //如果在局部內部類中使用外部類的局部變量,該變量必須是final類型
            }    
          }
              
    new InnerClass1().InnerF1();
        }
     
        
    public static void main(String[] args) {
             RyanTestInner rti 
    = new RyanTestInner();
            rti.outF2();

        }
    }
    接下來靜態內部類
    public class TestStaticInner {
          
        
    static int a = 10 ;
       
          
    int b = 100;
          
          
    static void outF1() {

              System.out.println(
    "outF1() ");
          
          }
          
    /*
           * 靜態內部類中可以定義非靜態的成員變量和方法,但是只能訪問外部類
           * 中的靜態方法和靜態變量
           
    */
         
    static class InnerClass  {
              
             
    int a = 11;
             
             
    static int c = 20;
             
             
    public void  innerF2() {
                 System.out.println(
    "innerF2()");
             }
             
             
    public static void innerF1() {
                 outF1();
                 System.out.println(TestStaticInner.a);
                 System.out.println(c);
             }
             
        }  
         
        
    public static void main(String[] args) {    
            TestStaticInner tsi 
    = new TestStaticInner();
              TestStaticInner.InnerClass.innerF1();
           
    //如果想要訪問靜態內部類中的非靜態方法,需要首先 new 外部類.內部類.方法 
              new  TestStaticInner.InnerClass().innerF2();
        }
    }
    最后匿名內部類,我認為匿名內部類最大的好處就是實現了多繼承,連八戒都說java只能單繼承,但是通過匿名內部類就可以辦到。
    首先我列舉出兩個簡單的不能在簡單的類,大家一看就了改
    首先抽象類
    package com.yan.test;

    public abstract class ChineseBeauty {
          
    public  abstract void sex();
    }
    接口
    package com.yan.test;

    public interface JapansBeauty {
      
        
    public void sex();
        
    }
    現在有個類既繼承了ChineseBeauty又實現了JapansBeauty 那我們到底是改重寫的是哪個方法呢??(方法相同)
    package com.yan.test;

    public class AnonymousInnerTest extends ChineseBeauty {

        @Override
        
    public void sex() {
            System.out.println(
    "commonF()  From Demo01");
            
        }
      
        
    public void fuckBeauty() {
              
            JapansBeauty  d 
    = new JapansBeauty(){

                
    public void sex() {
                    System.out.println(
    "we are so beauty ,so sexy~~~");
                }
                 
                 
             };
             d.sex();
        }
        
      
    public static void main(String[] args) {
          AnonymousInnerTest  ai 
    = new AnonymousInnerTest();
         
          ai.sex();
        
          ai.fuckBeauty();
          
    }    
        
    }
    看到這里大家應該有點點明白了吧。。很簡單不難。



                                                                                                           --    學海無涯
            

    主站蜘蛛池模板: 亚洲av一本岛在线播放| 国产亚洲精品国看不卡| 亚洲天堂电影在线观看| 国产成人一区二区三区视频免费| 亚洲色精品VR一区区三区| 最近免费视频中文字幕大全| 亚洲午夜未满十八勿入| 中国人xxxxx69免费视频| 亚洲另类春色国产精品| 国内自产少妇自拍区免费| 精品国产亚洲AV麻豆| 亚洲av午夜精品一区二区三区| 亚洲精品老司机在线观看| 亚洲精品黄色视频在线观看免费资源 | 久久精品国产亚洲AV嫖农村妇女| 亚洲中文字幕一二三四区| 无码国产精品久久一区免费| 亚洲综合色婷婷在线观看| 四虎影视永久免费观看网址| 国产成人精品免费视频大全| 久久亚洲国产视频| 日韩视频在线精品视频免费观看| 国产精品亚洲а∨无码播放 | 亚洲欧洲日本精品| 久九九精品免费视频| 亚洲AV日韩AV一区二区三曲 | 无码国产精品一区二区免费式影视| 宅男666在线永久免费观看 | 一级毛片正片免费视频手机看| 免费看搞黄视频网站| 亚洲成a人片在线观看播放| 日本免费福利视频| 一级视频免费观看| 免费无码不卡视频在线观看| 亚洲午夜久久久久久噜噜噜| 国产jizzjizz免费看jizz| 国产成人精品免费大全| 亚洲黄色三级视频| 国产免费怕怕免费视频观看| 在线观看免费视频网站色| 亚洲人成网站在线播放2019 |