內部類:
可以直接訪問外部類的成員,包括私有;
外部類訪問內部類的成員必須建立物件;
成員內部類:在成員位置
區域性內部類:在成員方法內部
外界建立成員內部類物件的格式:
外部類名.內部類名 物件名=外部物件.內部物件
如:outer.inner oi=new outer().new inner();
注意:被靜態修飾的成員內部類,只能訪問外部類的靜態成員;
內部類被靜態修飾後的方法可以有靜態方法也可以有非靜態方法;
對於區域性內部類訪問區域性變數:
可以直接訪問外部類的成員;
在區域性位置可以建立內部類物件,通過對像呼叫內部類方法;
區域性內部類訪問區域性變數必須被宣告為final;
匿名內部類:
前提:存在乙個類或者介面(可具體,可抽象)
格式:new 類名或者介面名()
本質:是乙個繼承了該類或者實現了該介面的子類匿名物件
具體**:
一、
/*** @author
* date:
* function:測試內部類
*/package com.test3_1;
public class demo1
//成員變數
private int a=10;
static private int c=40;
//成員內部類
class inner1
}//成員內部類
static class inner2
}//成員方法
public void method()
}//在區域性位置可以建立區域性內部類物件
inner3 i3=new inner3();
i3.getinner3();}}
二、
/*** @param
* date:
* function:測試匿名內部類
*/package com.test3_1;
public class demo2
}//前提是存在乙個類或介面
inte***ce inter
//外部類
class outer
};//注意分號}}
三、
/*** @param
* date:
* function:匿名內部類的方法呼叫
*/package com.test3_1;
public class demo3
}inte***ce inter1
class outer1
public void show2()
}.show1();
//兩個方法的呼叫
inter1 i=new inter1()
public void show2()
};i.show1();
i.show2();}}
Java內部類小結
內部類 inner class 就是定義在乙個類裡面的類。與之對應,包含內部類的類被稱為外部類。內部類的主要作用 1.提供了更好的封裝。即可以隱藏在外部類之內,不允許同乙個包中的其他類訪問。2.內部類可直接訪問外部類的所有資料。3.事實上,內部類所實現的功能使用外部類同樣可以實現,只是有時使用內部類...
內部類學習小結
1.內部類能夠非常好的實現隱藏,一般的非內部類,是不同意有 private 與protected許可權的,但內部類能夠。我覺得在如今soa的環境下,隱藏實現已經習慣通過介面的形式來表達了,用內部類來隱藏實現顯得有些小家子氣。2.內部類擁有外圍類的全部元素的訪問許可權。這樣的說法感覺有些牽強,除非說內...
Java內部類學習小結
靜態內部類 類內部類 成員內部類 例項內部類 方法內部類 匿名內部類 不能引用外部類的例項變數和例項方法 例項建立方式 public class outstaticinner class newinner不能引用外部類的類變數和類方法 不能有類成員變數和方法,可以有常量。如果外部類的類方法m中或者類...