标签: scala types
我有一个类型为T的玩具类。
T
class A { type T = Int }
如何访问我的类型成员。例如获取类型或修改它。
val a = new A a.T = String //error: value T is not a member of A
由于T是我的会员,为什么我无法访问它?
答案 0 :(得分:3)
类型成员更像是普通参数而不是普通类成员。与通用参数一样,您无法重新指定类型参数或从类的实例访问它。阅读有关类型成员here的更多信息,以及抽象类型和通用参数here之间的区别。
答案 1 :(得分:1)
您无法将其作为值访问,但您可以将其作为类型访问:
scala> class A { type T = Int } scala> val a = new A scala> val someInt: a.T = 5 someInt: a.T = 5