import scala.beans.BeanProperty
/**
* 类的基本内容
*/
class TestStudy5 {
// @BeanProperty var monary = 100
var monary = 100
// def show {
// println("hello")
// }
}
class TestClass42{
private var monary = 0
def setMonary(a:Int){ //自定义setter方法
if(a > 0)
this.monary = a
}
def getMonary = { //自定义getter方法
this.monary
}
}
object Study5 extends App{
var a = new TestStudy5() //实例化一个类
a.monary = 200
println(a.monary)
// println(a.show)
//scala使用var定义字段 默认生成对应的setter和getter方法 对应的名称monary_= 和 monary
// a setMonary 300
// println(a getMonary)
//使用val定义字段的时候 scala不在提供setter方法
//@BeanProperty和private不能同时共用
// var c = new TestClass42
// c setMonary 1000
// println(c getMonary)
//class TestClass43(var name:String = "xxx" , var age:Int = 0) { //主构造器 带参数称为默认值
// var name:String //需要初始化
// var age:Int
// public TestClass43 {} //java的构造器写法
// println("name=" + name)
// println("age=" + age)
//}
class TestClass43 { //辅助构造器
var name:String = "lisi" //需要初始化
var age:Int = 0
def this(name:String ){
this() //辅助构造器第一行要调用主构造器
this.name = name
println("第一个辅助构造器")
}
def this(name:String ,age:Int){
this(name) //还可以调用其他辅助构造器
this.name = name
this.age = age
println("第二个辅助构造器")
}
println("name=" + name + " age=" + age)
def show = {
"name!=" + name + " age!=" + age
}
}
object Study6 extends App{
var c = new TestClass43("wangwu",90)
// println("name=" + c.name)
// println("age=" + c.age)
println(c.show)
}
}
scala语法 基础2
最新推荐文章于 2024-09-29 06:15:16 发布