weixin_47204581 2022-03-10 03:56 采纳率: 87.5%
浏览 48
已结题

对已经定义好的接口应该如何调用?

在使用其他人写的Java代码时遇到的问题。
已有一个Listener.java文件单独定义了Listener这个接口

public interface Listener{
  public void Received(String str);
}

在另一个类中有一段方法直接调用了这个借口:

public static void listenUp(String thingName, Listener listener)

想请问一下,假如我调用这个类中的listenUp方法的话第二个parameter也就是这个listener 应该怎么定义?
也就是如何调用这个listenUp方法。

目前尝试过新建一个class implements Listener
或者直接 Listener listener;
但都报错了

  • 写回答

4条回答 默认 最新

  • zcrazy胡说八道 2022-03-10 08:58
    关注

    public interface Listener {
    public void Received(String str);
    }

    public class ListenerImpl implements Listener{
    @Override
    public void Received(String str) {
    System.out.println(str);
    }
    }

    public class OtherClass {
    public static void listenUp(String thingName, Listener listener){
    listener.Received(thingName);
    }

    public static void main(String[] args) {
        listenUp("test",new ListenerImpl());
    }
    

    }

    三个类,一个是你的接口,一个是该接口的实现,一个是调用该接口的方法

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 3月18日
  • 已采纳回答 3月10日
  • 创建了问题 3月10日

悬赏问题

  • ¥18 深度学习tensorflow1,ssdv1,coco数据集训练一个模型
  • ¥100 关于注册表摄像头和麦克风的问题
  • ¥30 代码本地运行正常,但是TOMCAT部署时闪退
  • ¥15 关于#python#的问题
  • ¥15 主机可以ping通路由器但是连不上网怎么办
  • ¥15 数据库一张以时间排好序的表中,找出多次相邻的那些行
  • ¥50 关于DynamoRIO处理多线程程序时候的问题
  • ¥15 kubeadm部署k8s出错
  • ¥15 Abaqus打不开cae文件怎么办?
  • ¥15 小程序准备上线,软件开发公司需要提供哪些资料给甲方