构造器
Scala中的构造器相较于Java比较特殊,分为两种:主构造器,从构造器。主构造器是和类中字段和方法的定义混合在一起的。
在scala中,不需要像Java一样需要在类中定义一个与类名相同的方法来当作构造器。
主构造器的参数列表写在类名的后面,而构造器的内容,则直接写在类定义里面,所以说,一个scala类中,除了方法和字段的定义以外的代码,全都是主构造器的内容。
class Fruit( n:String, w:Int){
val name = n
val weight = w
println("This is a " + n )
println("Weight = " + w )
}
如果接下来定义一个Fruit的对象
val apple = new Fruit("Apple" , 10 )
则会在屏幕上打印:
This is a Apple
Weight = 10
因为
println("This is a " + n)
println("Weight = " + w)
两行代码也是构造函数的内容
除了主构造器外,Scala中还有从构造器,用于使用和主构造器不同的参数来初始化对象。
从构造器的定义,都是从 def this 开始的
class Fruit(n: String, w: Int) {
val name = n
val weight = w
println("This is a " + n)
println("Weight = " + w)
def this(n: String) = this(n, 10)
}
本文深入解析Scala中的构造器概念,包括主构造器和从构造器的定义与使用。通过实例展示了如何利用构造器初始化对象,并解释了Scala构造器与Java构造器的不同之处。
357

被折叠的 条评论
为什么被折叠?



