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
构造函数的参数