类内部定义接口

Posted 肥龙上天

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了类内部定义接口相关的知识,希望对你有一定的参考价值。

类内部实现接口,实现责任链

 

public class InterfacePropertyDemo {
  interface Child {
    DeadLockDemo method(String strKey, String strValue);
  }


  // 存入匿名类,类似责任链, 里面存储的是方法的集合
  private List<Child> myChildren = new CopyOnWriteArrayList<>();

  public void addChild(Child child) {
    this.myChildren.add(child);
  }

  public static void main(String[] args) {

    InterfacePropertyDemo demo = new InterfacePropertyDemo();


    demo.addChild((key, value) -> new DeadLockDemo(key, value));
    demo.addChild((key, value) -> new DeadLockDemo(key + "_1", value + "_1"));
    demo.addChild(new Child() {
      @Override
      public DeadLockDemo method(String strKey, String strValue) {
        return new DeadLockDemo(strKey + "_2", strValue + "_2");
      }
    });


    String strKey = "strKey";
    String strValue = "strValue";

    List<DeadLockDemo> lstResult =
        demo.myChildren.stream().map(obj -> obj.method(strKey, strValue)).collect(Collectors.toList());
  }
}

 

以上是关于类内部定义接口的主要内容,如果未能解决你的问题,请参考以下文章

JAVA07 面向对象(高级)类变量类方法代码块final抽象类接口内部类

片段内部静态类和gradle问题

片段的条件自定义 OnBackPress

片段 - 全局视图变量与本地和内部类侦听器和内存泄漏

java 代码片段

自定义无内存泄漏的Handler内部类