加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

在Java中调用的这种实例化是什么?

发布时间:2020-12-15 04:59:26 所属栏目:Java 来源:网络整理
导读:对于 Java来说,这可能是一个非常基本的问题,但我不记得它,也不知道如何在线搜索它. button.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { Thread.sleep(100); }} 我习惯使用新的OnClickListener(arg1,arg2,…)等构造
对于 Java来说,这可能是一个非常基本的问题,但我不记得它,也不知道如何在线搜索它.

button.setOnClickListener(new OnClickListener()
{
  @Override
   public void onClick(View v)
   {
     Thread.sleep(100);
   }
}

我习惯使用新的OnClickListener(arg1,arg2,…)等构造函数初始化对象.根据我自己的经验,我在构造对象时从不覆盖方法.我只是在扩展课程时才这样做.如果有任何术语,那么在Java中调用的这种实例化是什么?在其他情况下我们应该使用它吗?

解决方法

这是一个匿名课程.它是OnClickListener接口的实现,但该实现未命名.编写简洁,实现在调用上下文中可见(通常对可读性有用),但由于它是就地实现,因此不能在其他地方使用它.

还要注意,它是一个内部类,因此引用了它的周围类.

有关详细信息,请参阅here.

回覆.对周围阶级的引用.内部类具有对其外部类的隐式引用(如果您尝试使用XStream来序列化内部类,则可以看到此内容.它将随外部类拉出它).如果外部类中有变量,则可以在内部引用它(假设它是最终变量,请记住)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读