在Kotlin中,您可以为现有类定义扩展方法和属性:
operator inline fun Vector2.plus(other: Vector2) = Vector2(x + other.x, y + other.y)
这允许人们这样做:
val result = Vector2(1.1f, 2.3f) + Vector2(2f, 4f)
有什么方法可以让这个扩展全局化,这样我就不必在每个使用它的类中导入它了吗?
答案 0 :(得分:7)
您不能这样做,因为编译器会静态解析扩展方法。
如果没有导入,编译器就不知道扩展名。