内部类可以访问外部类的私有成员,外部类访问内部类成员要创建内部类对象。
成员内部类在外部类的方法中创建内部类的对象,通过创建外部类对象方法来调用。
局部内部类是在方法中定义的类,所以外界是无法直接使用,需要在方法内部创建对象并使用。该类可以直接访问外部类的成员,也可以访问方法内的局部变量。
匿名内部类前提:存在一个类或者接口,可以是抽象类。本质是继承了该类或者接口的子类的匿名对象 new 类名或者接口名(){重写方法;};

1
2
3
public interface Jump {
void jumping();
}
1
2
3
4
5
6
7
public class JumpOperator {
public void method(Jump j) //实现接口的子类
{
System.out.println("methed");
j.jumping();
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public static void main(String[] args) {
// TODO Auto-generated method stub
JumpOperator jo = new JumpOperator();
Jump j = new Jump() {

@Override
public void jumping() {
// TODO Auto-generated method stub
System.out.println("jump");
}
};
jo.method(j);
jo.method(new Jump() {

@Override
public void jumping() {
// TODO Auto-generated method stub
System.out.println("jump");
}

});
}

}
1
2
3
4
methed
jump
methed
jump