Tag: 抽象类

Kotlin抽象类与泛型参数和使用类型参数的方法

我想创建一个抽象类与泛型参数将有子类应该调用方法, 而不必指定类型参数 。 我到目前为止: abstract class AbstractClass<T : Any> @Autowired constructor(protected val delegate: MyService) { inline fun <T: Any> myMethod(param: Any): T? { return delegate.myMethod(param).`as`(T::class.java) } } 并执行: class TesterWork @Autowired constructor(delegate: MyService) : AbstractClass<Tester>(delegate) { } 现在当调用myMethod我必须指定类型参数: testerWork.myMethod<Tester>("test") 我想知道是否有可能自动推断类型的参数? 我可以以某种方式重做myMethod吗? 请注意,我需要在方法内部有T::class.java 。

Kotlin:为什么使用抽象类(与接口)?

我知道Kotlin中抽象类和接口之间的两个区别: 抽象类可以有状态(例如var …) 一个类可以实现多个接口,但不能实现多个抽象类。 既然Kotlin是一个相当新鲜的语言,我想知道为什么抽象类不会被抛弃? 接口看起来很好用,对抽象类很少需要。 详细说明:Kotlin支持接口中的具体功能实现,例如: interface Shiny { fun shine(amount : Int) // abstract function fun reflect(s : String) { print ("**$s**") } // concrete function } 有人可以提供一个强大的抽象类的实例吗?