Scala 构造器

Scala构造器的介绍

和 java 一样, Scala 构造对象也需要调用构造方法,并且可以有任意多个构造方法(即 Scala 中构造器也支持重载)

scala 类的 构造器包括: 主构造器 和 辅助构造器

代码演示如下

// 在构造器中传递的参数可以用 val,var 修饰,会成为类的成员变量
class Boy(val name:String ,var age :Int) {
     var gender :String  =_   // 对应类型变量的初始默认值
     var fv: Double =_
     
// 定义辅助构造器 ,辅助构造器一定要用   def this ,
// 辅助构造器一定要调用主构造器或其他的构造器(其他的构造器 一定调用主构造器)
//  辅助构造器的方法中的参数不用加var,val进行修饰

def this(name:String,age:Int,gender: String){
  this(name,age)
  this.gender =gender
  }
  def this(name:String ,age: Int ,gender: String ,fv: Double){
    this(name,age)
     this.fv=fv
  }
}
//  不用 var ,val 修饰的只是形参
class Boy2(name:String ,age:Int){
}
object Boy{
  def main(args: Array[String]): Unit = {
    val b = new Boy("tom",20,gender = "female")
    println(b.gender)
    println(b.name)
    println(b.age)
    val b1 = new Boy2("jary",29)
  }
}

Scala 构造器注意事项和细节

1) Scala 构造器作用是完成对新对象的初始化,构造器没有返回值\

2)主构造器的声明直接放置在类名值后

3)主构造器会执行类定义中的所有的语句,这里可以体会到Sala的函数式编程和面向对象融合在一起
即:构造器也是方法(函数),传递

4)如果主构造器无参数 ,小括号可以省略 ,构建对象时调用的构造方法的小括号也可以省略
在这里插入图片描述

5)辅助构造器名称为 this (这个和 java 是不一样的),多个辅助构造器通过不同参数列表进行区分,在底层就是 f 构造器重载

6)如果想让主构造器变成私有的 ,可以在()之前加上 private ,这样用户只能通过辅助构造器来构造对象了

class Person private(){}

7)辅助构造器的声明不能和主构造器的声明一致 ,会发生错误(即构造器名重复)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值