码迷,mamicode.com
首页 > 其他好文 > 详细

匿名内部类

时间:2019-05-13 09:12:21      阅读:100      评论:0      收藏:0      [点我收藏+]

标签:必须   eth   color   rgs   本质   动作   com   info   package   

什么是匿名内部类?

匿名内部类 :是内部类的简化写法。它的本质是一个 带具体实现的 父类或者父接口的 匿名的 子类对象。开发中,最常用到的内部类就是匿名内部类了。

前提

  • 匿名内部类必须继承一个父类或者实现一个父接口。
格式
技术图片

使用场景:

如果接口的实现类(或者父类的子类)只需要使用唯一次,那么这种情况下就匿名内部类

格式解析

  • new 代表创建对象的动作
  • 接口名称就是匿名内部类需要实现哪个接口
  • {....}这才是匿名内部类的内容。(匿名内部类)

注意事项:

  • 匿名内部类,在创建对象的时候只能使用唯一一次
  • 匿名对象,在调用方法的时候,只能调用唯一一次。
  • 匿名内部类是省去了(实现类或者子类),但是匿名对象是省去了对象名称
  • 强调:匿名内部类和匿名方法不是一回事

 代码举例:

定义接口: 
package deno04;

public interface MyInterface {
    //抽象方法
    public  abstract  void eat();

}
创建匿名内部类
package deno04;

public class MyTest {
    public static void main(String[] args) {
        // 创建匿名内部类,将匿名对象传递给 method方法中
        method(new MyInterface() {
            @Override
            public void eat() {
                System.out.println("我吃骨头");
            }
        });
    }

    public static void method(MyInterface myInterface) {
        //拿到对象地址值,操作匿名内部类中的成员
        myInterface.eat();
    }
}

执行结果:

技术图片

 

匿名内部类

标签:必须   eth   color   rgs   本质   动作   com   info   package   

原文地址:https://www.cnblogs.com/wurengen/p/10854562.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!