gpt4 book ai didi

java - 用括号中的代码解释 Java Notation 'new'

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:06:16 24 4
gpt4 key购买 nike

我偶尔会在 Android 示例中看到这种表示法,一个带有类名的新运算符,然后是括号中的代码。有人可以解释一下吗?在下面的示例中,PanChangeListener 是一个类(或者可能是一个接口(interface))并且“new”创建了一个实例,但是括号中的代码相对于 PanChangeListener 起什么作用?

fType pcListener = new PanChangeListener() {

@Override
public void onPan(GeoPoint old, GeoPoint current) {
//TODO
}
});

即使是这种语法的名称也会很有用,因为我可以谷歌它。

最佳答案

那是一个 anonymous class .

语法允许您创建一个新类,为某些方法提供实现,然后实例化它。

When a local class is used only once, consider using anonymous class syntax, which places the definition and use of the class in exactly the same place.

它的工作方式与以下不使用匿名类的代码类似:

class MyPanChangeListener implements PanChangeListener()
{
@Override
public void onPan(GeoPoint old, GeoPoint current) {
//TODO
}
}

// ...

fType pcListener = new MyPanChangeListener();

关于java - 用括号中的代码解释 Java Notation 'new',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11110735/

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