Java 在这个Table类中,括号语法是什么意思?

Java 在这个Table类中,括号语法是什么意思?,java,scala,playframework-2.0,slick,Java,Scala,Playframework 2.0,Slick,代码粘贴如下: class Suppliers(tag: Tag) extends Table[(String, String, Int, String)](tag, "suppliers") { def snum = column[String]("snum") def sname = column[String]("sname") def status = column[Int]("status") def city = column[String]("city

代码粘贴如下:

class Suppliers(tag: Tag) extends Table[(String, String, Int, String)](tag, "suppliers") {
  def snum  = column[String]("snum")
  def sname = column[String]("sname")
  def status   = column[Int]("status")
  def city     = column[String]("city")
  def * = (snum, sname, status, city)
}
我知道第一个括号
(tag:tag)
表示
供应商的参数列表
,第二部分
表[(String,String,Int,String)]
表示带有泛型的
超类


但是
(标记为“供应商”)
是什么意思?它是超类
表的装饰器
还是定义的类
供应商
。有关于这个的文档吗?

它只是调用
表[(String,String,Int,String)]的构造函数。


表的构造函数接受一个标记和一个字符串。extends Table(标记“suppliers”)只是将所需的值连接到构造函数中(可以选择添加类型归属)。这是一种标准的Scala机制。

它是一个与以下内容等效的构造函数:

class Suppliers(tag: Tag) extends Table[(String, String, Int, String)]{
  def snum  = column[String]("snum")
  def sname = column[String]("sname")
  def status   = column[Int]("status")
  def city     = column[String]("city")
  def * = (snum, sname, status, city)
  def this(tag:Tag) {
    super(tag, "suppliers")


}

}