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 + ")"
}
相關文章
相關標籤/搜索