scala的构造函数使用方法
一、构造函数:主构造与辅助构造的协作
在面向对象编程中,构造函数是创建对象的 “入口”。Scala 支持主构造函数和辅助构造函数,两者协作可灵活初始化对象。
以下是包含构造函数的 Student 类示例:
object dsadasdsa {
class Student(var name: String, var age: Int) {
println("Student构造函数被调用.....")
// 辅助构造函数:仅接收name,age默认设为15
def this(name: String) {
this(name, 15)
}
def sayHello(): Unit = {
println(s"我是${name},今年${age}")
}
}
def main(args: Array[String]): Unit = {
// 调用主构造函数(传入name和age)
val stu = new Student("小花", 18)
stu.sayHello() // 输出:我是小花,今年18
// 调用辅助构造函数(仅传入name,age默认15)
val stu1 = new Student("小明")
stu1.sayHello() // 输出:我是小明,今年15
}
}
- 主构造函数:直接在
class定义时声明(class Student(var name: String, var age: Int)),同时完成成员变量name和age的定义。 - 辅助构造函数:通过
def this(...)定义,必须以this(主构造函数参数)的形式调用主构造函数,实现 “参数默认值” 的效果。 - 执行逻辑:当用
new创建对象时,主构造函数会自动执行(如println("Student构造函数被调用.....")会打印),辅助构造函数则按需调用。