Kotlin继承:将其作为构造函数参数传递

我试图创建一个扩展正常的抽象请求的GsonRequest类,也实现了错误侦听器。 我正在使用的代码是

public class GsonRequest<T>(url: String, val clazz: Class<T>) : Request<T>(Request.Method.GET, url, this), ErrorListener 

但是,我收到以下错误:在此上下文中未定义“this”。 我正在尝试做什么?

超级构造函数完成工作之前,您不能在JVM上使用this ,所以您不能将它传递给超级构造函数。

你可以做的是使用一个对象表达式或一个lambda作为错误侦听器:

 public class GsonRequest<T>(url: String, val clazz: Class<T>) : Request<T>(Request.Method.GET, url, { <handling code here> } ) 

或者,考虑将侦听器作为类GsonRequest构造函数的参数