我在类构造函数内部调用函数,但是在编译代码时,我不断收到错误消息:找不到值:churnPeriodfnc
这是我正在运行的代码

 class CustStoryN (var custId:String,
             var rootEventType:String,
             var rootEventTime:Long,
             var eventStory:mutable.MutableList[StoryEventN]) extends Serializable {
 def this(custID: String,rootEventType: String, rootEventTim: Long, eventStory: mutable.MutableList[StoryEventN], churnPeriod: Boolean, churnMode: Boolean)
 {
    this(custID,rootEventType,rootEventTim,
      churnPeriodfnc(churnPeriod, churnMode,eventStory))
 }

这是编译器无法识别的ChurnPeriodFnc函数,我没有复制churn periodfunc,现在假设我对eventtory进行了一些更改,然后放了一个新的eventtory:
    def churnPeriodfnc(churnPeriod: Boolean, churnMode: Boolean, eventStory: mutable.MutableList[StoryEventN]): mutable.MutableList[StoryEventN] = {
  eventStory  }

最佳答案

如果churnPeriodfnc是在类主体(实例方法)中定义的,或者是继承了;您不能在构造函数中调用它。

如果churnPeriodfnc是在CustStoryN的伴随对象
中定义的(类似于静态方法);您必须将其导入或将其称为CustStoryN.churnPeriodfnc()
如果在另一个对象中定义,则上述规则仍然适用。

09-16 04:57