【安卓学习笔记】JAVA基础-内部类与匿名内部类

内部类:一个类定义在一个类的内部,内部类可以随意使用外部类的成员变量和成员函数
生成一个内部类的方法:先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



猜你喜欢

转载自blog.csdn.net/qq997758497/article/details/79879470