scala屬性的getter和setter方法
類的基本內容要點:
1、scala在定義欄位時使用var ,預設生成對應setter和getter方法
2、呼叫了scala的setter方法 對應的名稱money_=
3、呼叫了scala的gettter方法 對應的名稱就為欄位名稱money
4、當使用val定義欄位時,scala不在提供對應的setter方法
5、如果使用private修飾字段時 scala不在提供對應的setter和getter方法
6、@BeanProperty和private不能同時使用
在scala不在提供靜態欄位和靜態方法的功能
用object去實現
當class的名稱和物件的名稱相同時,把該物件叫做同名類的伴生物件
Object是一種型別,與class非常相似。
Object可以提供java中的靜態欄位、靜態方法的功能。
class atm{
var money = 0
}
object Test41 {
def main(args: Array[String]): Unit = {
/*
* scala在定義欄位時使用var ,預設生成對應setter和getter方法
*/
var c = new atm()
//呼叫了scala的setter方法 對應的名稱money_=
c.money_=(100)
//呼叫了scala的gettter方法 對應的名稱就為欄位名稱money
println(c.money)
// c.setMoney(1000)
// println(c.getMoney())
/*當使用val定義欄位時,scala不在提供對應的setter方法 */
/*如果使用private修飾字段時 scala不在提供對應的setter和getter方法*/
}
}
class myatm{
private var money = 0;
def setMoney(money:Int){
if(money > 0)
this.money = money
}
def getMoney = {
this.money
}
def add(a:myatm){
this.money += a.money
}
}
object Test42 {
def main(args: Array[String]): Unit = {
var c1 = new myatm
c1.setMoney(200);
var c2 = new myatm
c2.setMoney(100)
c2.add(c1)
println(c2.getMoney)
}
}