scala构造函数

构造函数参数列表

  • 对于var修饰的参数:外部可读/可改写 (其实是:编译器为该类参数(字段)自动生成了getter和setter)
  • 对于val修饰的参数:外部可读/不可改写(其实是:编译器为该类参数(字段)只生成了getter没有生成setter)
  • 对于private var修饰的参数:内部可读/可改写 (编译器不会为私有类参数(字段)自动生成getter和setter)
  • 对于private val修饰的参数:内部可读/不可改写 (编译器不会为该类参数(字段)自动生成getter和setter)

多构造函数

package com.test.scalaw.test.demo

/**
 * scala定义多个构造函数,
 * 另外,Scala中有只有一个主要构造函数,其余都是辅助构造函数。并且须要注意的是,辅助构造函数必须调用主构造函数或者经过this(…)之间相互调用
 */
class Point(x:Int,y:Int) {
  var x1:Int = x
  var y1:Int = y
  
  def this(xc:Int) {
    this(xc,0)//这个必需要
    println("我是构造函数")
  }
  
  override def toString(): String = "(" + x + ", " + y + ")"
}
相关文章
相关标签/搜索