如何在Java中传递整个类的定义

问题描述 投票:0回答:3

此代码在这里是什么意思:

private ActionListener doGreeting = new ActionListener {
            public void actionPerformed(ActionEvent e) {
               myGreetingField.setText("Hello");
            }
    };

我在某处读到它是回调的一种形式,但我不明白它的含义。有人可以解释一下和/或提供一些详细解释它的来源吗?

编辑:我问这个问题的原因是要了解这在Android Studio中的含义:

sumButton.setOnClickListener(new View.OnClickListener(){
            public void onClick(View v)
            {
                String a = et1.getText().toString();
                String b = et2.getText().toString();
                int sum = Integer.parseInt(a) + Integer.parseInt(b);
                Toast.makeText(getApplicationContext(), String.valueOf(sum), Toast.LENGTH_LONG).show();
            }
        });

我们采用以下格式:function1(new Class.function2(){...});上面的代码甚至在fucntion2内部还有另一个功能(onClick在OnClickListner内部)。有人可以清理一下吗?

java android-studio callback
3个回答
2
投票

这称为anonymous class

经常在需要传递实现接口的类时使用。


0
投票

我想您指的是匿名内部类,check this


0
投票

这是Java中的匿名内部类的示例。这个答案应该给你清楚的主意-Callback in Java

© www.soinside.com 2019 - 2024. All rights reserved.