版權(quán)申明:轉(zhuǎn)載請(qǐng)注明出處。
文章來源:http://bigdataer.net/?p=269
排版亂?請(qǐng)移步原文獲得更好的閱讀體驗(yàn)
1.針對(duì)不同字段生成的方法
| 字段 | 生成的方法 | 備注 |
|---|---|---|
| var/val name | 公有的name和name_=方法(僅var) | 可以被公開訪問 |
| @BeanProperty val/var name | 公有的name,getName(),name_(僅var),setName(僅var) | 與JavaBean互操作 |
| private val/var name | 私有的name,name_(僅var) | 用于將字段的訪問限制在本類 |
| private[this] val/var name | 無 | 將字段訪問限制在同一個(gè)對(duì)象 |
| private[類名] val/var name | 依賴于具體實(shí)現(xiàn) | 將字段的訪問權(quán)限賦予外部類 |
2.構(gòu)造器
2.1 輔助構(gòu)造器。
scala中輔助構(gòu)造器的名稱為this,輔助構(gòu)造器的使用由其他輔助構(gòu)造器或者主構(gòu)造器引用。舉例:一個(gè)帶有兩個(gè)輔助構(gòu)造器的類。
class People{
private var name:String = ""
private var age:Int = 0
def this(name:String){
this.name = name
}
def this(name:String,age:Int){
this.name = name
this.age = age
}
}
2.2 主構(gòu)造器。
scala中主構(gòu)造器的參數(shù)直接放在類名之后,相對(duì)于java來說,這種寫法更為簡(jiǎn)單。如:
class People(val name:String,val age:Int){
……
}
| 主構(gòu)造器參數(shù) | 生成的方法 |
|---|---|
| name:String | 對(duì)象私有字段,如果name沒被使用,則不會(huì)生成name字段。 |
| val/var name:String | 私有字段,公有g(shù)etter或setter方法。 |
| private val/var name:String | 私有字段,私有的getter或setter方法。 |
| @BeanProperty val/var name:String | 私有字段,生成java版的getter或setter方法 |
2.3 主構(gòu)造器不同字段生成的方法。
| 主構(gòu)造器參數(shù) | 生成的方法 |
|---|---|
| name:String | 對(duì)象私有字段,如果name沒被使用,則不會(huì)生成name字段。 |
| val/var name:String | 私有字段,公有g(shù)etter或setter方法。 |
| private val/var name:String | 私有字段,私有的getter或setter方法。 |
| @BeanProperty val/var name:String | 私有字段,生成java版的getter或setter方法 |
更多文章請(qǐng)關(guān)注微信公眾號(hào)bigdataer