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

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

在使用其他人写的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日

悬赏问题

  • ¥15 Selenium+docker Chrome不能运行
  • ¥15 能给我一些人生建议吗
  • ¥15 mac电脑,安装charles后无法正常抓包
  • ¥18 visio打开文件一直显示文件未找到
  • ¥15 请教一下,openwrt如何让同一usb储存设备拔插后设备符号不变?
  • ¥50 使用quartz框架进行分布式任务定时调度,启动了两个实例,但是只有一个实例参与调度,另外一个实例没有参与调度,不知道是为什么?请各位帮助看一下原因!!
  • ¥50 怎么获取Ace Editor中的python代码后怎么调用Skulpt执行代码
  • ¥30 fpga基于dds生成幅值相位频率和波形可调的容易信号发生器。
  • ¥15 R语言shiny包和ncdf4包报错
  • ¥15 origin绘制有显著差异的柱状图和聚类热图