/**
* 1)主构造器直接跟在类名后面。
* 2)主构造器执行的时候,会执行类中所有的语句。
* 3)如果主构造器参数不加val或者var,为private
*/
class Point(val x: Int, val y: Int) {
private var _env1: String = _
var t = x;// val变量不可更改,但赋给var后就可以更改
var t1 = y;
def aaa(): String ={
println("aaaa")
"qqq"
}
_env1 = aaa()
println("wo ai lly")
// var 自动生成get、set方法
// val 只生成get方法
val isOriginal: Boolean = {
x == 0 && y == 0
}
// 1)从构造器定义在类内部,方法名为this
// 2)从构造器必须先调用已经存在的构造器
def this(xArg: Int) {// 从构造器
this(xArg, 12344)//必须调用默认的构造器
println("hello, I'm this constructor")
}
}
object Point {// 把static的东西,写到object中去
def main(args: Array[String]) {
val p1 = new Point(123)//我们上面写了2个构造器
println(p1.x)
//val p2 = new Point(555, 777)
//println(p2.x)
}
}