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

时间:2016-05-15 06:05:45

标签: java oop interface implementation

假设有两个类A,B和B类有一个按钮对象,当我单击按钮时,类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”。

请帮助

2 个答案:

答案 0 :(得分:0)

考虑将Observer模式应用于您的代码。 B类应该保存(注入)监听器列表,并且不应该知道有关具体监听器实现的任何信息。这将允许您将主题(B类)与 Observers 分离。

答案 1 :(得分:-3)

你绝对不得不为此使用界面吗?在类之间进行通信的另一种方式是Local Broadcast Receiver。要使用此结帐This post检查如何处理通信。