內部類和外部類的區別及內部類的創建:
1. 成員內部類可以使用外部類的成員變量和成員方法
2. 【在Outer類的外部創建Outer的Inner對象】
格式如下:
外部類名.內部類名? 內部類對象名 = new 外部類名().new 內部類名();
例如:
Outer.inner inner = new Outer().new Inner();
【第一個知識點】:普通的成員變量和成員方法,在沒有對象的情況下,不能再類外使用
3. 在外部類的類內方法中,可以創建內部類的對象
4. 如果內部類和外部類存在同名的成員變量,這里默認是就近原則,使用的是內部類的成員變量
如果想要使用外部類的成員變量的:
格式:
外部類名.this.同名成員變量;
外部類名.this.同名成員方法(參數列表);
5.如果是局部內部類要使用所在函數或者方法的局部變量,該變量用【final】修飾。因為兩者的作用域和生存周期不一樣。
6.【重點】:
利用【數組】提供的排序方法(需要重寫比較器),將數組或集合進行排序。
//匿名內部類的匿名對象作為方法的參數
Arrays.sort(arr, new Comparator() {
@Override
public int compare(Integer o1, Integer o2) {
return o1 - o2;
}
});