本章内容:简单了解内部类(概念):
内部类
* 成员内部类:非静态内部类:1.必须寄存在一个外部类里
* 2.非静态内部类可以直接访问外部类的成员,但是外部类不能直接访问
* 非静态内部类成员。
* 3.外部类的静态方法以及代码块不能访问非静态内部类,包括不能使用
* 非静态内部类定义变量,创建实例
* 静态内部类:1.被static修饰
* 2.当一个静态内部类存在,并不一定存在对应的外部类,因此,静态内部
* 类的实例方法不能直接访问外部内的实例方法
* 匿名内部类:1.适合那种只需要使用一次的类,比如:键盘监听操作等
* 2.没有访问修饰符
* 3.没有构造方法,因为它连名字都没有
成员内部类:
class Outer{
private int num = 2;
public static void testOuter(){
}
//非静态内部类
class Inner{
int num = 5;
public void show(){
System.out.println(this.num);//访问内部类的成员
System.out.println(Outer.this.num);//访问外部类成员
}
}
//静态内部类,被static修饰的就是
static class Inner2{
int age = 4;
public void show(){
}
}
}
匿名内部类:先定义一个接口
interface A{
void a();
}
//本来要先新建一个类来实现接口A的方法,才能调用这个方法,下面简化了,适合只是用一次的类
InsideClass.getA(new A() {
@Override
public void a() {
System.out.println("AAAAAAA");
}
});
目前还只是简单了解,以后学到新的会补充。