多语言展示
当前在线:368今日阅读:84今日分享:32

java匿名内部类本质讲解

匿名内部类,顾名思义,不具有类名,说的再透彻一点,就是你看不见,不具有抽象和静态属性。并且不能派生出子类。格式如下:new 父类型名(){}
工具/原料
1

Eclipse

2

JDK

方法/步骤
1

1.父类型为类的匿名内部类例程abstract class J_Class { int m_data; J_Class(int i){ m_data=i; } abstract void mb_method();}

2

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(); }}

3

2.父类型为接口的匿名内部类例程interface J_Interface { int m_data=5; abstract void mb_method();}

4

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(); }}

注意事项
1

如果需要使用匿名内部类的实例对象,则可以直接采用上面格式生成的实例对象。

2

另外一种方式是通过其父类型的变量,即先让其父类型的变量指向匿名内部类的实例对象,再该变量调用被匿名内部类覆盖的成员方法或者父类型的成员方法。

3

对于后一种形式,除了覆盖父类型的成员方法之外,该变量无法调用在匿名内部类的类体中定义的其他成员方法。

推荐信息