Scala中类型与类的实际区别

时间:2014-07-17 18:07:36

标签: class scala types

之间有什么实际区别
class person(val name: String, val weight: Int)

type person = (String,Int)

2 个答案:

答案 0 :(得分:1)

类型别名只是别名。它们在编译时被替换(已解决)并且不再存在。因此,没有办法从java代码中引用它们。

答案 1 :(得分:0)

在这种情况下,它意味着将元组与类人进行比较。根据我的理解,可能没有比较。可能这个例子应该是这样的吗?

class Person(val name: String, val weight: Int)

type P = Person

所以在这种情况下,P只是Person的别名,没什么特别的。

我认为如果我们使用"键入"我们可能会感到困惑。据我所知,有几种情况可以使关键字" type"非常有用。

  1. 蛋糕图案或可堆叠特质
  2.   

    trait喜欢{type T}

         

    trait PersonLike扩展Like {override type T = Person}

    1. 如果类型太复杂,可以快捷方式
    2.   

      类型T =(Int => Int)=> (String => String)

      无论如何,我不确定这会澄清你的困惑。