栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

匿名内部类可以扩展吗?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

匿名内部类可以扩展吗?

您不能给匿名类命名,这就是为什么它被称为“匿名”的原因。我看到的唯一选择是

final
从您的外部范围引用变量
Callable

// Your outer loopfor (;;) {  // Create some final declaration of `e`  final E e = ...  Callable<E> c = new Callable<E> {    // You can have class variables    private String x;    // This is the only way to implement constructor logic in anonymous classes:    {// do something with e in the constructor      x = e.toString();    }    E call(){        if(e != null) return e;      else {        // long task here....      }    }  }}

另一个选择是像这样定义一个本地类(不是匿名类):

public void myMethod() {  // ...  class MyCallable<E> implements Callable<E> {    public MyCallable(E e) {      // Constructor    }    E call() {      // Implementation...    }  }  // Now you can use that "local" class (not anonymous)  MyCallable<String> my = new MyCallable<String>("abc");  // ...}

如果您还需要更多,请创建一个常规

MyCallable
类…



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/483608.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号