java - 需要传递给我的方法的 'this' 的解释

标签 java interface

如果我有一个具有如下接口(interface)定义的类;

public class FirstClass {

  private static onDragListener listener  

  public interface onDragListener{
      void doSomething();
  }

  //a static method to set on my drag listener
  public static void setOnDragListener(onDragListener listener){
           FirstClass.listener = listener
  }

}

正如您在上面看到的,有一个 setOnDragListener(onDragListenerlistener) 静态方法可以在监听器上设置。

然后,还有另一个类实现第一个类中定义的接口(interface),如下所示:

public class SecondClass implements onDragListener{
    public void initialize(){
          FirstClass.setOnDragListener(this); //my question is here about 'this'. 
    }
}

我的问题是为什么我可以使用 this 作为参数传递给 initialize() 中的 FirstClass.setOnDragListener(this);上面的方法?

我的意思是 setOnDragListener(onDragListener Listener) 期望传入 onDragListener 类型参数,this 会在 initialize 中执行吗? 第二类方法意味着接口(interface)的真正实现或者我如何理解它?

最佳答案

继承是一种is-a关系。

SecondClass 是一个 onDragListener

这个是一个SecondClass

因此,this 是一个 onDragListener

关于java - 需要传递给我的方法的 'this' 的解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9110222/

相关文章:

java - 无法创建 while/boolean 循环

java - Spring boot Kafka 不工作 - 消费者没有收到消息

java - Jersey 2 + HK2 - 类的自动绑定(bind)

c# - 为什么这个测试表达式是错误的?

java - CXF 使用的类中的公共(public)方法上的@Transactional 问题

java - .java 文件中的包私有(private)类 - 为什么可以访问它?

java - 如果 forEach 是抽象方法,它如何将 lambda 表达式应用于数组?

java - 多个类实现相同接口(interface)的问题

c++ - 是否可以继承接口(interface)的实现

java - 有没有办法在子类上实现一个方法,我可以从它的子类访问属性?