匿名内部类

来源:互联网 发布:淘宝没有分期购选项 编辑:程序博客网 时间:2024/06/05 03:08

匿名内部类的使用规范

* 匿名内部类在编译时 由系统自动起名

*匿名内部类用于继承其他类或实现接口,并不需要增加额外的方法,只是对继承的方法的实现与重写。

*匿名内部类是唯一一个没有构造函数的类。

匿名内部类的使用

*只用到类的一个实例。

*类在定义后马上使用。

*类非常的小。

*给类命名并不会导致你的代码更容易被理解。

关键技术解析

*匿名内部类不能有构造方法。

*匿名内部类不能有静态成员变量,方法和类

*匿名内部类不能被public ,protected,private ,static修饰

*只能创建匿名内部类的一个实例。

*一个匿名内部类是能在new后面,用其隐含实现一个接口或一个类。

*因匿名内部类属于局部内部类,所以局部内部类饿所有限制都对其生效。


实例讲解匿名内部类的使用规则

public class Test{      public static void main(String[] args)     {     Test test=new Test();    test.testInterface();    test.testAbstract();    test.testClass();      }      public void testInterface(){    A_interface ai=new A_interface(){@Overridepublic void show() {// TODO Auto-generated method stubSystem.out.println("1.在匿名内部类中,实现了A_interface接口中的show方法");}        };    ai.show();    }    public void testAbstract()    {    A_abstract aa=new A_abstract(){@Overridevoid show() {// TODO Auto-generated method stubSystem.out.println("2.在匿名内部类中,实现了A_abstract抽象类中的抽象show方法");}        };    aa.show();    }        public void testClass()    {    A_class ac=new A_class(){    public  void show(){    System.out.println("3.在匿名内部类中,重写了A_class类中的show方法");    }    };    ac.show();    }} interface A_interface {public  void show();}abstract class A_abstract{abstract void show();}class A_class{public  void show(){System.out.println("这是一个普通的类!");}}

——摘自Java案例

0 0
原创粉丝点击