内部类:一个类定义在一个类的内部,内部类可以随意使用外部类的成员变量和成员函数
生成一个内部类的方法:先new一个外部类 然后.new 外部类的,如:
B是A的内部类,则
匿名内部类
1.首先是一个内部类
2.没有名字
生成一个内部类的方法:先new一个外部类 然后.new 外部类的,如:
B是A的内部类,则
A a = new A();//生成一个外部类 A.B b = new A().new B();或者
A.B b = a.new B();注意每一个内部类的对象都和它的外部类对象相关联,换句话说有内部类的对象就必然会有一个和它对应的外部类对象
匿名内部类
1.首先是一个内部类
2.没有名字
interface A{ public void doSomething(); } class AImpl implements A{ public void doSomething(){ System.out.println("doSomething"); } } class B{ public void fun(A a){ System.out.println("B类的fun函数"); a.doSomething(); } } class Test{ public static void main(String args[]) { AImpl al =new AImpl(); A a = al; B b = new B(); b.fun(a); } }/*******************************************************************/
class Test{ public static void main(String args[]) { //AImpl al =new AImpl(); //A a = al; B b = new B(); b.fun(new A(){ public void doSomething(){ System.out.println("匿名内部类"); } }); } }
By Urien 2018年4月13日 22:39:45