gpt4 book ai didi

Java Android - 在方法内部定义新的类函数?

转载 作者:行者123 更新时间:2023-12-01 21:18:28 25 4
gpt4 key购买 nike

你好,我最近开始用java编程,特别是在android上,因为我是java新手,我发现了一些我不明白的东西。

theListView.setOnItemClickListener(new AdapterView.OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String pickedLanguage = "Your favorite programming language is : " + String.valueOf(parent.getItemAtPosition(position));
Toast.makeText(MainActivity.this,pickedLanguage,Toast.LENGTH_LONG).show();
}
});

我不明白:

  • 方法setOnItemClickListener在其参数列表中包含一个新类?这怎么可能 ?这是怎么回事 ?我刚刚阅读了有关类的教程,它说类应该位于单个文件中,并且应该与文件具有相同的名称,这基本上是什么意思?我粘贴的示例代码说从此函数创建一个属于适配器 View 的新实例?我以为你只能创建一个新对象而不仅仅是对象的函数,我基本上不理解整个代码,怎么可能在方法内部定义一个新类?

最佳答案

它称为匿名类,通常用于在调用方法时为其提供接口(interface)实现,而无需创建一个单独的类来实现该接口(interface)以便稍后实例化它。

在本例中,方法 setOnItemClickListener 接收接口(interface) OnItemClickListener 的实例,我们可以创建一个单独的类来实现该接口(interface)并稍后实例化或仅提供给该方法调用时的匿名实现。

您可以找到更多详细信息Anonymous Classes

关于Java Android - 在方法内部定义新的类函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39538489/

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