Java 如何使用接口在两个类之间进行交互

Java 如何使用接口在两个类之间进行交互,java,oop,interface,implementation,Java,Oop,Interface,Implementation,假设有两个类A,B,类B有一个button对象,当我点击按钮时,类B应该通知类A。我应该在类之间创建一个接口并实现它。我该怎么做?谢谢 我所做的就是这样 interface Listener{ void clicked(); } class A implements Listener{ void clicked(){ // click informed to A } } class B { Button

假设有两个类A,B,类B有一个button对象,当我点击按钮时,类B应该通知类A。我应该在类之间创建一个接口并实现它。我该怎么做?谢谢

我所做的就是这样

    interface Listener{
     void clicked();
    }

    class A implements Listener{
     void clicked(){
     // click informed to A
     }
    }

    class B {
     Button b = new Button();
     Listener l = new A()

     // say this method gets called by the button when it is pressed
     void buttonIsClicked(){
      l.clicked();
     }

    }
我是这样做的,但是我的向导说我正在创建一个新的“a”,所以我好像在通知一个新的家伙按钮被点击了。我不知道如何在不创建“A”对象的情况下通知“A”


请帮助

您一定要为此使用界面吗?类之间通信的另一种方式是通过。检查如何使用此检查处理通信。

考虑将观察者模式应用于代码。类B应该包含(注入的)侦听器列表,并且不应该知道任何关于具体侦听器实现的信息。这将允许您将主体(B类)与观察者分离

您可以告诉我们您选择了什么,因为这里不是学习基本编程教程的地方。@sidgate我已经更新了我尝试过的内容,请检查,谢谢。1)这个问题太广泛(或非常不清楚),因此不能也不应该回答。2) OP提出了一个一般性的设计问题。一个特定的安卓机制本身并不是一个好答案,特别是因为问题中没有提到安卓。它很可能是一个Swing程序或其他完全不同的程序。