Method invocation of anonymous inner class

/**
 * Method call of anonymous inner class
 * @author Administrator
 *
 */
interface Inter{
	public abstract void show();
	public abstract void show2();
}
class OuterA{
	public void method(){
		/*
		new Inter(){
			public void show(){
				System.out.println("show");
			}
			public void show2(){
				System.out.println("show2");
			}
		}.show();
		new Inter(){
			public void show(){
				System.out.println("show");
			}
			public void show2(){
				System.out.println("show2");
			}
		}.show2();
		*/
		//Optimized version
		Inter i = new Inter(){//polymorphism
			public void show(){
				System.out.println("show");
			}
			public void show2(){
				System.out.println("show2");
			}
		};
		i.show();
		i.show2();
	}
}
public class InterClass {
	public static void main(String[] args){
		OuterA o = new OuterA ();
		o.method();
	}
}

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325936230&siteId=291194637