内部类和外部类的区别及内部类的创建:
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;
}
});