(一)、主构造器函数的参数
1. var 是可以修改的属性
2. val 是不可以修改的属性
3.而没有使用val或者var修饰的,不是属性,不可在外部访问,不可改写。
(二)、this关键字链式风格
this在类内部表示当前对象,我们可以利用这个特点实现对象方法的链式调用。
(三)、辅助构造函数
1. 构造函数(构造器)的作用是什么? 创建对象。
2. 构造函数只能有一个吗? 可以有多个。可以有很多个,其他的叫辅助构造函数。
辅助构造器的方法名固定为this,其参数不能使用var或val修饰,且必须在第一行代码中直接或间接调用主构造器
辅助构造器的作用
1.提供多种初始化方式:
辅助构造器允许类提供多种初始化选项,使得创建对象时更加灵活。
2.简化对象创建:
通过定义多个辅助构造器,您可以简化对象的创建过程,避免在主构造器中处理过多的参数。
3.调用主构造器:
辅助构造器可以通过 this 关键字调用主构造器,从而确保所有初始化逻辑都集中在主构造器中。
object class01 {
   //class 类
  //Student 构造函数,用来创建对象,new的时候,就会自动调用一次
  //构造函数:
  // (1)主构造函数
  // (2)辅助构造函数
  //     特点:名字就叫this,它的代码第一行必须是调用主构造器。可以有多个
  class Student(var name:String,var age:Int) {
    println("Student构造函数被调用.....")
    //辅助构造函数1
    def this(name:String){
      this(name,15)
      println("辅助构造函数被调用....")
    }
    //辅助构造函数2
    def this(age:Int){
      this("未知",age)
      println("辅助构造函数被调用....")
    }
    def sayHello(): Unit = {
       println(s"我是${name},今年${age}")
     }
   }
  def main(args: Array[String]): Unit = {
    //实例化类的对象 stu
    //new的时候,就会自动调用一次构造函数
    val stu = new Student("小花",18)
    //调用对象的方法
    stu.sayHello()
    val stu1=new Student("小明")
    stu1.sayHello()
    val stu2=new Student(20)
    stu2.sayHello()
  }