我写了这段代码,我需要在Class3
中创建一个监听器来调用接口“MethodsListener”的所有覆盖方法,我该如何做到这一点?用接口实现所有类的动作
当Class3
我打电话,我需要在实现该接口的所有类运行此功能,在下面的例子中,当我调用函数Method2
在Class3
我需要Class1
运行Method2
接口MethodsListener
的任何功能。
我写了这段代码,我需要在Class3
中创建一个监听器来调用接口MethodsListener
的所有覆盖方法,我该如何解决这个问题?
当Class3
我打电话到接口MethodsListener
我需要运行在实现此接口的所有类此功能,在下面的例子中,当我调用函数Method2
在Class3
我需要运行Method2
中的任何功能Class1
。
所有类都在分开的线程中运行。
这是示例代码:
public class Class1 implements MethodsListener {
public static void main(String[] argv) {
new Thread(new Class2()).start();
}
@Override
public void method1(String message) {
System.out.println("Method 1 executed, message: " + message);
}
@Override
public void method2(String message) {
System.out.println("Method 2 executed, message: " + message);
}
}
public class Class2 implements Runnable {
@Override
public void run() {
new Thread(new Class3()).start();
}
/*...*/
}
public class Class3 implements Runnable, MethodsListener {
@Override
public void run() {
method1("MSG 1");
method2("MSG 2");
}
@Override
public void method1(String message) {
System.out.println("Executing Method 1");
}
@Override
public void method2(String message) {
System.out.println("Executing Method 2");
}
}
interface MethodsListener {
public abstract void method1(String message);
public abstract void method2(String message);
}
在这个例子中的输出,我需要得到:
Executing Method 1
Method 1 executed, message: MSG 1
Executing Method 2
Method 2 executed, message: MSG 2