Scala的getter、setter方法以及构造方法

本文详细介绍了Scala中如何为私有变量提供getter和setter方法,包括默认实现及自定义方法。通过实例展示了不同构造方法的使用,以及如何通过@BeanProperty注解管理变量。同时,探讨了伴生对象在访问私有变量中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

scala 为每一个私有变量提供了getter、setter方法,不用显性的定义:

下面是几种方式:

package scalaLearn

class Counter {
  private var mycount = 10  // 默认提供了 getter和 setter方法
  private var myname = "Scala"
  // 实际上他自动实现了getter setter方法
  // 自定义
  def count = mycount
  def count_=(newCount:Int)={
    mycount = newCount
  }

  def this(mycount:Int){
    this()  // 必须要显式调用构造方法
    this.mycount = mycount
  }

  def this(myname:String, mycount:Int){
    this(mycount)
    this.myname = myname
  }

}

object Counter{
  def main(args: Array[String]): Unit = {
    val counter = new Counter()
    counter.mycount = 290  // 默认提供了getter setter方法
    println("使用默认的getter、setter方法:"+counter.mycount)
    counter.count = 250
    println("使用自己编写的getter和setter方法:"+ counter.count)

    val counter2 = new Counter(150)
    println(counter2.mycount)

    val counter3 = new Counter("亚瑟", 520)
    println("名字:"+counter3.myname+" 计数:"+counter3.mycount)
  }
}

还有一种

@BeanProperty
var name = "scala"     

这种方式不能加 private 修饰变量。

上面用到了伴生对象,所以可以互相访问私有变量。

参考:
scala的getter、setter方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值