java - 使用Java中的接口(interface)触发从A类到B类的事件

标签 java interface listener

假设我定义了一个具有如下接口(interface)的类:

public class myClass {

    public void test() {
        //here I want to trigger `onStartListener`
    }

    interface OnStartListener {
        public void onStart();
    }
}

B 类我定义如下:

public class ClassB implements myClass.OnStartListener {
    public void ClassB() {
        myClass test1 = new myClass();
        myClass.test();
    }

    @Override
    public void onStart() {
        System.out.println("start triggered");
    }
}

如何从 myClasstest 方法触发 OnStartListener 以便 ClassB 可以处理它?<​​/p >

最佳答案

是的,您需要订阅监听器并调用A类中的方法:

public class ClassB implements myClass.OnStartListener {
    public void ClassB() {
        myClass test1 = new myClass(this);
        //test1.setListener(this);
        myClass.test();
    }

    @Override
    public void onStart() {
        System.out.println("start triggered");
    }
}

    public class myClass {
    OnStartListener myListener;

    public myClass(OnStartListener myListener) {
             this.myListener = myListener;
        }
    public void test() {
            //here I want to trigger `onStartListener`
            myListener.onStart();
    }

        interface OnStartListener {
            public void onStart();
    }
}

关于java - 使用Java中的接口(interface)触发从A类到B类的事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34066973/

相关文章:

java - 如何用 Java 制作响应式 MVP Swing GUI?

Java Path接口(interface)和OCPJP7考试

java - 为什么需要注销OnPreferenceChangeListener?

java - 通知监听器服务并不总是工作

java - 如何使用 Eclipse 的显示 View 进行调试?

java - 如何在jython中使用opencv-python?

java - JVM 的 Xss 选项是只覆盖 Java Stacks 还是也包括 Native Stacks?

typescript - 如何定义对象的接口(interface),其每个字段必须是 TypeScript 中其他接口(interface)的实例?

c++ - C++是否有不使用vtable的接口(interface)的静态多态实现?

jmeter - 在 JMeter 中通过非 GUI 模式绘制结果图