內部類訪問許可權
阿新 • • 發佈:2018-12-26
內部類:一種隱藏和組織程式碼的模式
1、普通內部類擁有其外圍類的所有元素的訪問權,沒有任何限制
2、靜態內部類只能訪問外部類的靜態成員變數
class Outer
{
static int x;
static class Inner
{
void test()
{
syso(x);
}
}
}
3、定義在方法和作用域內的內部類,可以訪問方法和作用域外的變數,作用域內的變數必須是final型別的,因為生命週期不同。 外部不能訪問該內部類
class Outer {
private int a;
public void test(final int b){
class Inner{
public void A(){
int A = a;
}
public void B(){
int B = b;
}
}
}
}
4.匿名內部類即是3的一種,訪問限制同3,如下,類似setOnClickListener(new OnClickListener(){ XXX}),
public class A{
public B create(){
return new B(x){
public in value(){
return 1;
}
}
}
public static void main(String[] a){
}
}
1、普通內部類擁有其外圍類的所有元素的訪問權,沒有任何限制
2、靜態內部類只能訪問外部類的靜態成員變數
class Outer
{
static int x;
static class Inner
{
void test()
{
syso(x);
}
}
}
3、定義在方法和作用域內的內部類,可以訪問方法和作用域外的變數,作用域內的變數必須是final型別的,因為生命週期不同。 外部不能訪問該內部類
class Outer {
private int a;
public void test(final int b){
class Inner{
public void A(){
int A = a;
}
public void B(){
int B = b;
}
}
}
}
4.匿名內部類即是3的一種,訪問限制同3,如下,類似setOnClickListener(new OnClickListener(){ XXX}),
public class A{
public B create(){
return new B(x){
public in value(){
return 1;
}
}
}
public static void main(String[] a){
}
}