在scala类中get和set使用有以下几种:

1. var foo: Scala自动合成一个getter和一个setter

2. val foo: Scala自动合成一个getter

scala中var用于定义一个可变量, val定义一个常量。

所以在1中,当我们定义1个变量foo时候,会自动有一个默认的get和set方法。

在2中,由于val是常量,所以只有一个get方法, val常量在定义的时候需要赋值,并且不可更改。

3. 人工定义foo和foo_=方法

在scala中get和set的定义并不是像java中的getXxx和setXxx, 而是foo和foo_

例如下面的例子

class Person {
  private var privateAge =0 // 变成私有并改名
  def foo = privateAge       //类似java的get方法

  def foo_= (newValue: Int) {   //类似java的set方法
  if (newValue > privateAge)
   privateAge=newValue // 不能变年轻
  }
}

4. 人工定义foo方法

最新文章

  1. SQL位移运算函数
  2. Http协议:彻底弄懂 Http 缓存机制 - 基于缓存策略三要素分解法
  3. ssi服务器端指令
  4. bzoj1758 [Wc2010]重建计划 & bzoj2599 [IOI2011]Race
  5. PLSQL_PLSQL读和写CSV文件方式(案例)
  6. HTML <input> 标签的 maxlength 属性
  7. 2013 Multi-University Training Contest 2 Balls Rearrangement
  8. X Window、GNOME和KDE之间的关系
  9. Introducing Regular Expressions 学习笔记
  10. ASP.NET MVC:01理解MVC模式
  11. RPC(Remote Procedure Call Protocol)
  12. 国付宝ecshop,shopex,shopnc在线支付接口,php版本支付接口开发
  13. 关于ajax原理阐述
  14. python2x和python3的区别
  15. [转帖]一个FORK的面试题
  16. [HAOI2015]树上染色(树形背包)
  17. T4模版 mysql
  18. 获取JavaScript异步函数的返回值
  19. 【Linux】处理数据文件
  20. 页面生命周期里面还有很东西,如PageHandlerFactory等等这些东东也够吃一壶的,发现每走到一个领域,发现要学的东西实在是太多太多啦,总感觉自己所学的东西只是沧海一粟,走过了这道坎,又是一片海洋,我只能呐喊:生命永不止息,学海无涯----够用就好。

热门文章

  1. sh: 1: node: Permission denied
  2. 【转】javascript 中的很多有用的东西
  3. 【pyhon】理想论坛单帖爬虫取得信息存入MySql数据库
  4. linux sheel重复执行上条命令
  5. SqlServer字段说明查询及快速查看表结构
  6. c#:无法将类型为“System.DBNull”的对象强制转换为类型“System.String”
  7. Linux下挂载硬盘分区的几种方法
  8. storyboard,xib
  9. Zmodem transfer canceled by remote side问题的解决办法!
  10. sql 百分比