Java 匿名类内部类 应用

interface Inter{
	void show1();
	void show2();
}
/*
通常的使用场景之一
当函数参数是接口类型时,而且接口中的方法不超过三个(1or2) 太多不利于阅读性
可以用匿名内部类作为实际参数进行传递
*/
class Outer{
	class Inner implements  Inter{
		public void show1(){

		}
		public void show2(){

		}

	}
	public void method(){
		Inter in=new Inter(){
			public void show1(){

			}
			public void show2(){

			}
		};//这有分号
		in.show1();
		in.show2();

	}


}
class InnerClassDemo5{
	static class Inner{

	}
	public static void main(String[] args) {
		/*show(new Inner(){//不用再去创建一个类  方便
			public void show1(){};
			public void show2(){};

		});*/
		new Inner();// 主函数 静态 无法调用非静态
	}
	public static void show(Inter in){
		in.show1();
		in.show2();
	}
	public  void method(){
		new Inner();
	}
}

你可能感兴趣的:(Java学习)