Eclipse
JDK
1.父类型为类的匿名内部类例程abstract class J_Class { int m_data; J_Class(int i){ m_data=i; } abstract void mb_method();}
public class J_InnerClass { public static void main(String[] args) { // TODO Auto-generated method stub J_Class b=new J_Class(1){ public void mb_method(){ System.out.println('111'); } }; b.mb_method(); }}
2.父类型为接口的匿名内部类例程interface J_Interface { int m_data=5; abstract void mb_method();}
public class J_InnerInterface { public static void main(String[] args) { // TODO Auto-generated method stub J_Interface b=new J_Interface(){ public void mb_method(){ System.out.println('qq'); } }; b.mb_method(); }}
如果需要使用匿名内部类的实例对象,则可以直接采用上面格式生成的实例对象。
另外一种方式是通过其父类型的变量,即先让其父类型的变量指向匿名内部类的实例对象,再该变量调用被匿名内部类覆盖的成员方法或者父类型的成员方法。
对于后一种形式,除了覆盖父类型的成员方法之外,该变量无法调用在匿名内部类的类体中定义的其他成员方法。