class Point22 (xc: Int, yc: Int) {
var x: Int = xc
var y: Int = yc
def this(xc:Int) {
this(xc, 0)
println("我是辅助构造函数")
}
def move(dx: Int, dy: Int) {
x = x + dx
y = y + dy
println ("x 的坐标点: " + x);
println ("y 的坐标点: " + y);
}
}
object Test12 {
def main(args: Array[String]) {
val pt = new Point22(10, 20);
pt.move(10, 10);
}
}
class Point(val xc: Int, val yc: Int) {
var x: Int = xc
var y: Int = yc
def move(dx: Int, dy: Int) {
println("进入Point的move()")
x = x + dx
y = y + dy
println ("x 的坐标点 : " + x);
println ("y 的坐标点 : " + y);
}
}
class Location(override val xc: Int, override val yc: Int, val zc :Int) extends Point(xc, yc){
var z: Int = zc
def move(dx: Int, dy: Int, dz: Int) {
println("进入Location的move( , , )")
x = x + dx
y = y + dy
z = z + dz
println ("x 的坐标点 : " + x);
println ("y 的坐标点 : " + y);
println ("z 的坐标点 : " + z);
}
}
object Test2 {
def main(args: Array[String]) {
val loc = new Location(10, 20, 15);
loc.move(10, 10);
loc.move(10, 10, 5);
}
}
Scala | Java |
---|
声明类时,主构造函数写在“头上” | 构造函数写在{}内部 |
A类继承B类时,必须在“头上”写明B的主构造函数 | 构造函数写在{}内部 |
声明类时,可以没有{} | 必须有{},哪怕里面是空空如也 |
源文件名称和类名称可以不一样 | 源文件名称和类名称必须一样 |