如何在Java中定义匿名内部类函数

java 中匿名内部类函数是一种无名称的内部类,可用于实现接口或传给方法。语法:new interface() { @override public void method() { } }。实战中,可以创建监听器并用于按钮,代码示例如下:button button = new button(); button.setonclicklistener(new button.onclicklistener() { @override public void onclick(button button) { system.out.println("button clicked!"); } }); button.onclick();。

在 Java 中定义匿名内部类函数

匿名内部类函数是一种特殊的内部类,它没有自己的名称,并且直接在声明它的位置创建。这使得它们可以作为参数传递给方法或用于实现接口。

语法:

new Interface() {
    @Override
    public void method() {
        // Implementation
    }
};

实战案例:

创建一个监听器,并在按钮上使用该监听器:

// Button.java
public class Button {

    private OnClickListener onClickListener;

    public void setOnClickListener(OnClickListener onClickListener) {
        this.onClickListener = onClickListener;
   

} public void onClick() { // 调用 onClickListener 中的方法 if (onClickListener != null) { onClickListener.onClick(this); } } public interface OnClickListener { void onClick(Button button); } } // Main.java public class Main { public static void main(String[] args) { Button button = new Button(); // 定义匿名内部类函数并设置监听器 button.setOnClickListener(new Button.OnClickListener() { @Override public void onClick(Button button) { System.out.println("Button clicked!"); } }); // 触发 onClick 事件 button.onClick(); } }

输出:

Button clicked!