国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

java 內部類小結

2019-11-06 06:53:41
字體:
來源:轉載
供稿:網友

內部類:指的是一個類的定義放在另一個類的內部。內部類作為外部類的一個成員,并且依附于外部類而存在的。

              內部類仍是一個獨立的額的類,每個內部類都能獨立的繼承自一個(接口)的實現,所以無論外圍類是否已經集成了某個接口的實現,對于內部類都沒有影響。

內部類分為4種:

              成員內部類:在一個包含類中定義的不使用靜態修飾符的類型                                   與成員變量、方法同一個層次                                    可以訪問包含類所有的成員                                    在包含類中中創建成員內部類實例的語法:                                    this.new Innerclass();                                    在包含類外創建成員內部類實例的語法                                    (new Outerclass()).new Innerclass();

              方法內部類:定義在方法體中的類                                   方法內部類只能在定義該內部類的方法內實例化,不可以在此方法外對其實例化                                   最少使用的內部類形式                                   如同本地變量的定義,不允許有訪問修飾符                                     只能訪問用final修飾的本地變量

              匿名內部類:沒有名字的內部類                                   只用到類的一個實例                                   類在定義后馬上用到                                   類非常小(OLD SUN推薦是在4行代碼以下)                                   給類命名并不會導致你的代碼更容易被理解

                                

              靜態內部類:不能與包含類同名                                    編譯后生成一個完全獨立的類文件                                    只能訪問包含類所有靜態變量、靜態方法                                    要創建嵌套類的對象,并不需要其外圍類的對象                                    創建靜態內部類實例的語法:                                    Outer.Inner inner = new Outer.Inner();

package study3_3;public class demo01 { public static void main(String[] args) {  //Outer.Inner2 inner2 = new Outer.Inner2();    Outer outer = new Outer();  outer.setName("tom");  System.out.PRintln(outer.innerClass());    //要獲得一個內部類,必須先創建外部類  /*Outer outer = new Outer();  Outer.Inner inner = outer.getInnerClass();    inner.getInfo();    Outer.Inner inner2 = outer.new Inner();*/ }} package study3_3;public class Outer { private String name; public String innerClass(){  class Inner{   public String getInfo(){    return"hello:"+name;   }  }  Inner inner =new Inner();  return inner.getInfo(); } public String getName(){  return name; } public void setName(String name){  this.name=name; } public String getInfo(){  return name; } //成員內部類 class Inner{  private String str;  public String getInfo(){   return str +name;  }  //靜態內部類  /*static class Inner2{   public void pribtInfo(){//    System.out.println(name);   }  }*/ }}

                                                                   


上一篇:Java泛型詳解

下一篇:java equal和==的比較

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 耿马| 武功县| 隆昌县| 东城区| 临西县| 布拖县| 建昌县| 应城市| 尚义县| 鲁山县| 化州市| 南溪县| 舒城县| 遂昌县| 虎林市| 金山区| 治多县| 涟源市| 罗源县| 盐池县| 寻乌县| 镇宁| 萍乡市| 曲麻莱县| 政和县| 永福县| 巴中市| 武宣县| 息烽县| 梁河县| 克拉玛依市| 集安市| 泰顺县| 和龙市| 突泉县| 洛南县| 兴和县| 永城市| 华宁县| 亚东县| 马公市|