您可以从类型A继承B类型,但是无论何时定义A类型,您都将免费获得A? (可空on)类型。但是它究竟在类型层次结构中处于什么位置呢?A?是从A继承的,还是从其他方面继承的?
我提出这个问题,是因为我对这样的守则感到困惑:
open class Foo {
fun foo() : Int {
return 0;
}
}
fun test<T : Foo?>(x:T) : Int {
return x.foo() // (@)
}
fun main(args: Array<String>) {
println(test<Foo?>(nu