risc-v中文社区

 找回密码
 立即注册
查看: 1033|回复: 0

[原创] risc-v开发基础 Scala 伴生对象实验---(24)

[复制链接]

347

主题

564

帖子

2237

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2237
发表于 2021-8-25 22:37:18 | 显示全部楼层 |阅读模式
object CompanionTraitObject2 {
  val name:String = "zs"
  def main(args: Array[String]): Unit = {
    val c = new CompanionTraitObject2{}
    c.disp("hello")
  }
}
class CompanionTraitObject2 {
  def disp(info:String) = println(CompanionTraitObject.name + info)
}
上面伴生类和伴生对象的实验很好理解。如果换成如下代码:
object CompanionTraitObject2 {
  val name:String = "zs"
  def main(args: Array[String]): Unit = {
    val c = new CompanionTraitObject2{}
    c.disp("hello")
  }
}
trait CompanionTraitObject2 {
  def disp(info:String) = println(CompanionTraitObject.name + info)
}
再来运行时出现:
错误: 在类 com.joe.stu.CompanionTraitObject2 中找不到 main 方法
如果将代码修改为:
object CompanionTraitObject2 {
  val name:String = "zs"  
}
trait CompanionTraitObject2 {
  def disp(info:String) = println(CompanionTraitObject.name + info)
}
object obj {
  def main(args: Array[String]): Unit = {
    val c = new CompanionTraitObject2{}
    c.disp("hello")
  }
}
则运行时也正常。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



Archiver|手机版|小黑屋|risc-v中文社区

GMT+8, 2024-4-30 15:39 , Processed in 0.014852 second(s), 17 queries .

risc-v中文社区论坛 官方网站

Copyright © 2018-2021, risc-v open source

快速回复 返回顶部 返回列表