#内部类的使用
内部类可以直接访问外部类的变量
//A.java文件
class A{
int i;
class B{
int j;
void funB()
{
int k=A.this.i+j;
System.out.println("i+j="+k);
}
}
}
//Test.java文件
class Test
{
public static void main(String[] args)
{
A a=new A();
A.B b=a.new B();
a.i=10;
b.j=11;
b.funB();
}
}
#匿名内部类的使用
不需要使用C类来实现接口A,直接匿名实现接口A
interface A{
public void do_some_thing();
}
class B{
void funB(A a)
{
System.out.println("funB run");
a.do_some_thing();
}
class Test
{
public static void main(String[] args)
{
//C c=new C();
//A a=c;
//B b=new B();
//b.funB(a);
B b=new B();
b.funB(new A(){
public void do_some_thing()
{
System.out.println("great!!! class A run");
}
});
}
}
}