Java 匿名类的学习应用
java 接口的匿名内部类package com.easyway.commons.ispace.dev.oop.interfaces;/** ** java 接口的匿名内部类 * @author longgangbai * @date 2010-5-11 * @version 1.0 * @since JDK6.0 */publicclass InterfaceJavaAnonymousType {/** * 在一个类中也可以定义内部接口, */publicinterface A{/** * 接口中的静态内部类 */static class B{{System.out.println(" init A.B");}}/** * 接口中的内部类的 */class E{{System.out.println(" init A.E");}}/** * 接口中的方法 * @param b */public void method(B b);}/** * 在接口A中定义静态内部类B,类C实现了接口A,类B的名字对C是可以见的,但是在D中,必须通过A.B的形式访问静态内部类B*/class C implements A{ B b=new B();@Overridepublic void method(B b) {}}/** * 在接口中可以定义静态内部类,此时静态内部类位于接口的命名空间中。 */class D{ A.B b1=new A.B(); }public abstract class AbstractJavaAnonymousType {AbstractJavaAnonymousType a=new AbstractJavaAnonymousType(){ void method(){ System.out.println(); } };abstract void method();}/** * 静态内部接口 * @author longgangbai * @date 2010-5-11 * @version 1.0 * @since JDK6.0 */public static interface Tool{public int add(int a,int b);}privateTool tool=new Tool(){@Overridepublic int add(int a, int b) {return a+b;}};public void add(int a,int b,int c){tool.add(tool.add(a, b), c);}class MyTool implements InterfaceJavaAnonymousType.Tool{@Overridepublic int add(int a, int b) {returna+b;}}}
页:
[1]