示例代碼
/**
* 定義一個泛型類
*/
abstract class BaseResponseBean<T> {
var code: Int = 0
var msg: String? = null
var data: T? = null
override fun toString(): String {
return "code=$code msg=$msg data=$data"
}
}
/**
* 定義一個泛型接口
*/
interface TestInterface<T> {
fun test(t: T)
}
/**
* 繼承泛型類、實現泛型接口
*/
class ResponseBean : BaseResponseBean<String>(),TestInterface<String> {
override fun test(t: String) {
println(t)
}
}
fun main(args: Array<String>) {
val responseBean = ResponseBean()
responseBean.code = 200
responseBean.msg = "獲取成功"
responseBean.data = "返回數據"
println(responseBean.toString())
responseBean.test("執行test方法")
}
執行結果:
code=200 msg=獲取成功 data=返回數據
執行test方法