內部類小結

2021-07-02 16:40:18 字數 1516 閱讀 7087

內部類:

可以直接訪問外部類的成員,包括私有;

外部類訪問內部類的成員必須建立物件;

成員內部類:在成員位置

區域性內部類:在成員方法內部

外界建立成員內部類物件的格式:

外部類名.內部類名   物件名=外部物件.內部物件

如: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中或者類...