第23条:避免隐藏类型参数
class Forest(val name: String) {
fun addTree(name: String) {
// ...
}
}interface Tree
class Birch: Tree
class Spruce: Tree
class Forest<T: Tree> {
fun <T: Tree> addTree(tree: T) {
// ...
}
}val forest = Forest<Birch>()
forest.addTree(Birch())
forest.addTree(Spruce())总结
Last updated