色yeye在线视频观看_亚洲人亚洲精品成人网站_一级毛片免费播放_91精品一区二区中文字幕_一区二区三区日本视频_成人性生交大免费看

當前位置:首頁 > 嵌入式培訓 > 嵌入式學習 > 講師博文 > java中的內部類分析

java中的內部類分析 時間:2015-06-17      來源:未知

允許一個類的定義出現在另一個類中,將處于另一個類中的“寄生類”稱為“內部類”(inner class),也稱為“類屬類”

這樣的一組類在邏輯上是一個整體,內部類和外層封裝它的類之間存在邏輯上的從屬關系

內部類對其封裝類的內部成員有訪問權限

舉例1:

public class Outer1 { 
                  private int size; 
                  /* 定義一個內部類,名為 "Inner" */ 
                  public class Inner { 
                      public void doStuff() { 
                        // 內部類可以訪問外部類的私有屬性 
                        size++; 
                     } 
                 } 
                 public void testTheInner() { 
                    Inner i = new Inner(); 
                    i.doStuff(); 
                  } 
        }

實例化內部類的兩種方法:

---法一:

Outer.Inner in=new Outer().new Inner();

---法二:

Outer o=new Outer();

Outer.Inner I=o.new Inner();

如果內部類是static的,也可以用下面方法:

Outer.Inner in=new Outer.Inner();

舉例2:內部類中的變量訪問形式

class Out { 
                private int age = 12;
                class In { 
                        private int age = 13; 
                        public void print() { 
                                int age = 14; 
                                System.out.println("局部變量:" + age); 
                                System.out.println("內部類變量:" + this.age); 
                                System.out.println("外部類變量:" + Out.this.age); 
                        } 
                } 
        } public class Demo { 
                public static void main(String[] args) { 
                        Out.In in = new Out().new In(); 
                        in.print(); 
                } 
        }

運行結果:

局部變量:14

內部類變量:13

外部類變量:12

舉例3:靜態內部類

class Out { 
                private static int age = 12;
                 static class In {
                        public void print() {
                                System.out.println(age);
                        }
                }
        } public class Demo {
                public static void main(String[] args) {
                        Out.In in = new Out.In();
                        in.print();
                }
        }

可以看到,如果用static 將內部內靜態化,那么內部類就只能訪問外部類的靜態成員變量,具有局限性

其次,因為內部類被靜態化,因此Out.In可以當做一個整體看,可以直接new 出內部類的對象(通過類名訪問static,生不生成外部類對象都沒關系)

實例4:私有內部類

class Out { 
                private int age = 12; 
        
                private class In { 
                        public void print() { 
                                System.out.println(age); 
                        } 
                } 
                public void outPrint() { 
                        new In().print(); 
                } 
        }
        public class Demo { 
                public static void main(String[] args) { 
                        //此方法無效 
                        /* 
                        Out.In in = new Out().new In(); 
                        in.print(); 
                        */
                        Out out = new Out(); 
                        out.outPrint(); 
                } 
        }

如果一個內部類只希望被外部類中的方法操作,那么可以使用private聲明內部類

上面的代碼中,我們必須在Out類里面生成In類的對象進行操作,而無法再使用Out.In in = new Out().new In() 生成內部類的對象

也就是說,此時的內部類只有外部類可控制。

上一篇:nfs服務與tftp服務的配置

下一篇:java中的匿名內部類總結

熱點文章推薦
華清學員就業榜單
高薪學員經驗分享
熱點新聞推薦
前臺專線:010-82525158 企業培訓洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權所有 ,京ICP備16055225號-5京公海網安備11010802025203號

回到頂部

主站蜘蛛池模板: 一本大道熟女人妻中文字幕在线 | 国产美女高潮流白浆免费观看 | 丰满少妇被猛烈进入流水 | 国语一级片 | 男人天堂视频在线 | 午夜无码人妻AV大片色欲 | 专干老肥熟女视频 | 日韩吃奶摸下AA片免费观看 | 日本三级福利片 | 免费无码又爽又刺激a片涩涩软件 | 狠狠噜噜| 办公室撕开奶罩揉吮奶头在线观看 | 国产精品国产三级在线... | 免费无码又爽又刺激A片软件妖精 | 亚洲人成网站在线无码 | 京香一区二区三区 | 午夜a级理论片在线播放琪琪 | 116少妇做爰毛片 | 亚洲av日韩av天堂影片精品一 | 国产美女自慰在线观看 | 日韩欧美中文字幕在线三区 | 办公室强奷漂亮少妇同事 | 午夜亚洲国产理论片 | 免费观看美女裸体网站 | 亚洲AV自慰白浆喷水网站少妇 | 久久免费看黄A级毛片连期A片 | 伊人激情av一区二区三区 | 国产精品理人伦一区二区三区 | 国产亚洲精品无码不卡 | 中文字幕在线中文字幕在线中三区 | 日本高清WWW无色夜在线视频 | 免费看又黄又无码的网站 | 麻豆媒体 | 嗯啊哦快使劲呻吟高潮视频 | 国产美女裸体丝袜喷水视频 | 益日韩欧群交P片内射中文 无码人妻AV免费一区二区三区 | 动漫无尽大乳老师 | 成人444kkkk在线观看 | 十八禁真人啪啪免费网站 | 美国a级毛片免费视频 | 欧美A级成人婬片免费看 |