java匿名内部类

来源:互联网 发布:淘宝入驻条件及费用 编辑:程序博客网 时间:2024/06/05 18:35

匿名内部类虽然这个名字听起来不是很舒服,但是它有时用起来确实是挺方便的。实际上匿名内部类就是类的简写格式。
Note:匿名内部类使用必须有前提的。

  1. 匿名内部类必须继承或者实现一个外部类
  2. 匿名内部类实现一个借口
  3. 匿名内部类实现的借口方法最好不要多余三个(因为当方法太多时会使内部类显得特别的臃肿)。
    PS:说白了,匿名内部类就是能带内容的对象,其实就是一个匿名的子类对象。
    下面通过一段代码来说明一下匿名内部类的使用:
abstract class Person {    abstract void show();}class child extends Person {    void show() {        System.out.println("child...run");    }}public class Demo {    public static void main(String[] args) {        // new child().show();        new Person() {            void show() {                System.out.println("匿名内部类 run .....");//匿名内部类run .....            }        }.show();//这里这个方法我们只调用一次故可以直接的new个对象。    }}

与接口相结合的匿名内部类:

interface inter1 {    abstract void show();}public class Demo2 {    public static void main(String[] args) {        new inter1() {            public void show() {                System.out.println("接口内部类 run ....");            }        }.show();    }}

这里需要说明一下,我们这里是接口和抽象类的方法只有一个我们可以这样写,但是当抽象类或接口的方法不止一个时我们可以给匿名内部类指定个名字(无语呀!)如下:

Inter in=new Inter(){      public void show1() {                System.out.println("接口内部类 run ....");            }         public void show1() {                System.out.println("接口内部类 run ....");            }};     in.show1();     in.show2();

这样就可以了。

0 0