scala中一个很奇怪的问题

pseudo 发布于 2016/03/02 16:35
阅读 129
收藏 0

abstract class Element {
  def contents: Array[String]
  val height = contents.length
  val width = if(height ==0 ) 0 else contents(0).length

  override def toString = contents(0)
}
class ArrayElement(override val contents: Array[String]) extends Element

class LineElementF(s: String) extends Element {
  override val contents = Array(s)
}
class LineElementT(s: String) extends Element {
  override def contents = Array(s)
}



定义的时候没问题,但在创建LineElementT的时候
val lef = new LineElementF("Wrong")

提示空指针异常

加载中
0
FeiFeiZheng
FeiFeiZheng
val lef = new LineElementT("Wrong")

就不是空指针。 父类Element初始化 height的时候需要访问content方法取得返回值,这里是null

A
AIU_MEN
回复 @pseudo : 一个是方法 一个是变量
pseudo
pseudo
那为什么其他两个就没问题呢
返回顶部
顶部