java - 这种声明的类型是什么?

标签 java android

我正在尝试学习 Android。我有一些Java有经验,但从未见过这样的代码块:

        addNumsButton.setOnClickListener(new View.OnClickListener()
    {
        @Override
        public void onClick(View v)
        {
            EditText firstNumEditText = (EditText) findViewById(R.id.firstNumEditText);
            EditText secNumEditText = (EditText) findViewById(R.id.secNumEditText);
            TextView resultTextView = (TextView) findViewById(R.id.resultTextView);
            resultTextView.setText((Integer.parseInt(firstNumEditText.getText().toString()) + Integer.parseInt(secNumEditText.getText().toString())) + "");
        }
    });

View.OnClickListener()?之后声明了什么我查了一下View.OnClickListener()返回类型接口(interface)。

该方法后面的代码是做什么用的?

最佳答案

这是一个 anonymous class 。它是通过在声明点提供实现来创建抽象类型实例的特殊语法。提供 GUI 操作回调在 GUI 代码(Android、Swing 等)中非常常见。

您的代码 fragment 正在执行的操作是将 View.OnClickListener 的临时实例传递给 setOnClickListener,该实例在单击按钮时执行最内层大括号 block 中的代码。

关于java - 这种声明的类型是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65062512/

相关文章:

java - Codingbat 练习 BMI 结果

java - LibGDX 多相机

android - 如何检查权限和请求权限(易于编码和易于理解)

java - 如何从 registerReceiver 内部类获取变量的值

java - JNI - Android 上的警报对话框

android - getItemAtPosition() 如何从 ListView 中的选定项获取可读数据

java - 在扩展类构造函数中错误使用 'super'

java - 无法在 JAVAFX 中填充表格 View

java - 在 vertx 中编写异步代码时有什么方法可以避免重复代码?

android - 我可以在 PowerMock 的单元测试中使用 Cobertura 吗?