java匿名内部类本质讲解

作者:wendy | 创建时间: 2023-04-02
匿名内部类,顾名思义,不具有类名,说的再透彻一点,就是你看不见,不具有抽象和静态属性。并且不能派生出子类。格式如下: new 父类型名(){}...
java匿名内部类本质讲解

操作方法

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

温馨提示

如果需要使用匿名内部类的实例对象,则可以直接采用上面格式生成的实例对象。
另外一种方式是通过其父类型的变量,即先让其父类型的变量指向匿名内部类的实例对象,再该变量调用被匿名内部类覆盖的成员方法或者父类型的成员方法。
对于后一种形式,除了覆盖父类型的成员方法之外,该变量无法调用在匿名内部类的类体中定义的其他成员方法。
点击展开全文

更多推荐