黑猴子的家:Scala Bean 属性

JavaBeans规范定义了Java的属性是像getXXX()和setXXX()的方法。许多Java工具都依赖这个命名习惯。为了Java的互操作性。将Scala字段加@BeanProperty时,这样的话,getter和setter方法会自动生成。

简单说,对一个属性,使用了@BeanProperty 注解后,会自动生成java的getter和setter方法,这个注解干啥用的呢?应用于什么场景? 比如说,你用json来解析字符串的时候,你要把这个字符串解析到某个类里面,你是需要用到getter和setter方法的,因为,它要反射,然后,你去操作数据库的时候,去操作mysql的时候,有一些框架,把mysql的数据封装到class里面的时候,也是需要用到getter 和setter方法的

1、@BeanProperty

创建一个Bean,使用@BeanProperty注解标识某个属性变量

package unit7
import scala.beans.BeanProperty
class Person {
  @BeanProperty var name: String = _
}

尖叫提示:使用@BeanProperty这个注解,并不会影响Scala自己自动生成的getter和setter方法

2、通过getName、setName访问属性

val person = new Person
person setName "haha"
println(person getName)
println(person.name)
person.name_=("heihei")
println(person.name)

尖叫提示
Person将会生成四个方法:
--name:String
--name_=(newValue:String): Unit
--getName():String
--setName(newValue:String):Unit

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值