scala学习13之与trait同名的object对象

一个class可以有一个伴生对象object,主要用来实现类似于java的静态属性和方法
同样trait也可以用类似的object,不确定叫不叫伴生对象,但功能可以调用

在一个文件里面定义同名的trait和object

package org.bdgenomics.adam.test

/**
  * Created by xubo on 2016/5/20.
  */
object objectTraitTest {
  val age = 10

  def addAge = {
    age + 1
  }

  def main(args: Array[String]) {
    println()
  }
}

trait objectTraitTest {
  val name = "hello"
  val age = objectTraitTest.addAge

  def print1 = {
    println(objectTraitTest.age)
    println(age)
  }
}

调用:

package org.bdgenomics.adam.test

/**
  * Created by xubo on 2016/5/20.
  */
object objectTraitTestSuite extends objectTraitTest {
  def main(args: Array[String]) {
    print1
    println("hello")
  }
}

结果:

10
11
hello

你可能感兴趣的:(scala,scala)