Java中的回调接口

Java中的回调接口,java,android,callback,Java,Android,Callback,因此,我对Java非常陌生,我很难理解这个概念 我通过这样做使它工作: 我不明白的是,在我的WorkerClass中,我有一个构造函数,它将回调接口类型作为参数 在我的主活动类中,我通过传递主活动的当前实例来创建WorkerClass的一个实例。它为什么工作?它不应该给我一个错误,因为WorkerClass的构造函数需要一个不同的参数吗 如果这听起来很愚蠢,很抱歉,但我想了解它为什么会工作,并且不仅仅记住它是这样工作的,所以我以后会使用它。您的活动实现了CallBackInterface,因此

因此,我对Java非常陌生,我很难理解这个概念

我通过这样做使它工作:

我不明白的是,在我的WorkerClass中,我有一个构造函数,它将回调接口类型作为参数

在我的主活动类中,我通过传递主活动的当前实例来创建WorkerClass的一个实例。它为什么工作?它不应该给我一个错误,因为WorkerClass的构造函数需要一个不同的参数吗


如果这听起来很愚蠢,很抱歉,但我想了解它为什么会工作,并且不仅仅记住它是这样工作的,所以我以后会使用它。

您的活动实现了CallBackInterface,因此您不是将主活动实例传递给构造函数,而是将CallBackInterface实现的实例传递给构造函数


如果删除此实现,您将得到一个错误。

您的活动实现了CallBackInterface,因此您没有将主活动实例传递给构造函数,而是将CallBackInterface实现的实例传递给构造函数

如果删除此实现,将出现错误

它为什么有效

它之所以有效,是因为它没有思考:

WorkerClass需要构造函数中的接口

你可以(必须)像我一样思考

WorkerClass需要能够在构造函数中执行回调的“东西”

MainActivity实现了CallbackInterface,因此这个(主活动的实际实例)持有该契约,并且可以作为参数在构造函数中传递

它为什么有效

它之所以有效,是因为它没有思考:

WorkerClass需要构造函数中的接口

你可以(必须)像我一样思考

WorkerClass需要能够在构造函数中执行回调的“东西”


MainActivity实现了CallbackInterface,因此这个(主活动的实际实例)持有该契约,可以在构造函数中作为参数传递。

不要发布代码图片。代码是文本。它需要的参数有什么不同?我想也许你不理解的概念是什么是Java接口。代码是文本。它需要的参数有什么不同?我想也许你不理解的概念是什么是Java接口。阅读更多关于Java接口的内容:)谢谢你澄清这一点,“this”关键字把我弄糊涂了。另一个问题是:如果我在一个类中实现了许多接口,并且我创建了几个工人类的实例,这些工人类的参数是这些接口中的一个,那么java会知道传递正确的接口吗?为什么不先自己试试呢?:)不过,答案是肯定的,只要传递给构造函数的对象实现了所需的接口。感谢您澄清这一点,“this”关键字让我感到困惑。另一个问题是:如果我在一个类中实现了许多接口,并且我创建了几个工人类的实例,这些工人类的参数是这些接口中的一个,那么java会知道传递正确的接口吗?为什么不先自己试试呢?:)但答案是肯定的,只要传递给构造函数的对象实现了所需的接口。