scala的主构造器及辅助构造器

学这个之前,你知道构造器是干嘛的吗?

构造器是创建这个类的实例时候就要调动这个构造器.是为了构造一个实例的时候给其传参数,为这个实例的参数赋予默认值的(空参构造).

 

主构造器

  1. 跟在类名后面,跟类名交织在一起的构造器叫主构造器     辅助构造器是对主构造器的扩展补充
  2. 一般将参数少的构造方法当作主构造器,参数多的是对少的一种补充
//跟在类名后面,跟类交织在一起叫做主构造器
class Student {

  //构造方法
  def m1(x :Int,y:Int):Int = (x+y)    //成员方法


  //给指定类型的变量赋予默认值   数据类型不能省略  使用var
  var a :Int = _    //成员变量
  println(a)        //这些逻辑相当于主构造器
  println(123)      //CTRL+alt+t 快捷键 try-catch if啥的

  //obj名加属性名,方法名
  Student.sayHi()

  //代码块  调完构造器,执行代码块
  {
    println(666)
  }

}

object Student{

  private def sayHi():Unit = {
    println("hi~~")
  }

  def main(args: Array[String]): Unit = {

    val s = new Student   //初始化完成后,调用构造方法
    val i = s.m1(1, 2)
    println(i)
    print(s)
  }
}

scala里没有明确的说明构造代码块,new 一个对象后,这些构造方法,代码块,逻辑什么的依次执行

在java中先执行静态代码块,再执行构造代码块,最后执行构造方法

辅助构造器

  1. 辅助构造器是对主构造器的补充,一定要用def this 
  2. 辅助构造器一定要调用主构造器或其他构造器,其他构造器一定要调用主构造器
  3. 辅助构造器相当于Java中的重载构造方法
辅助构造器的方法中的参数不需要加var val修饰
其就相当于局部变量

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值