scala - 抽象类中二级构造函数的用例是什么?

标签 scala constructor abstract-class language-design

考虑这个代码:

abstract class Foo(val s: String) {
  def this(i: Int) = this("" + (i+2))
}

据我所知,构造函数不是继承的,二级构造函数不能从 super 的子类中调用。就像在 Java 中一样。

它们只是一个无用的工件还是这个构造有一些合理的用例?

最佳答案

scala> object Bar extends Foo(3)
defined module Bar

scala> Bar.s
res3: String = 5

关于scala - 抽象类中二级构造函数的用例是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7255446/

相关文章:

Java - 扩展整个类层次结构

scala - Scala 3 中的宏注释

java - Scala 中的基本插入排序,Haskell 版本的端口

scala - 小版本更新可以用来小更新传递依赖吗?

java - 将构造传递到父类(super class)

c++ - 如何允许我的模板化 Vector 允许没有默认(空)构造函数的类型?

scala - Play 2.5 迁移错误 : Custom Action with BodyParser: could not find implicit value for parameter mat: akka. stream.Materializer

c# - 自定义异常 : customize message before call the base constructor

c++ - 纯虚拟方法 VS。函数指针

c# - 有没有办法在没有泛型约束的情况下强制执行无参数构造函数