gpt4 book ai didi

java - 这种实例化在Java中叫什么?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:34:36 25 4
gpt4 key购买 nike

这可能是一个非常初级的 Java 问题,但我就是想不起来,也不知道如何在线搜索它。

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

我习惯于使用 new OnClickListener(arg1, arg2, ...) 等构造函数来初始化对象。根据我自己的经验,我在构造对象时从未重写过方法。我只在扩展类(class)时这样做过。如果有任何术语,这种实例化在 Java 中称为什么?在其他什么情况下我们应该使用它?

最佳答案

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

另请注意,它是一个内部类,因此具有对其周围类的引用。

参见 here了解更多信息。

回复。对周围类的引用。内部类有一个对其外部类的隐式引用(如果您尝试使用 XStream 来序列化内部类,就会看到这一点。它会连同外部类一起拉动)。如果您在外部类中有一个变量,则可以在内部类中引用它(请记住,前提是它是一个 final 变量)

关于java - 这种实例化在Java中叫什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13682684/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com