类的定义
使用class定义
类的字段
在类中使用var,val定义字段
类的方法
scala中,使用var定义字段默认提供setter和getter方法
对应名称为 value_= 和value
/**
* 类和对象
*/
class TestClass41{
var value = 100
} object TestObject41 {
//java中类的实例化称之为对象
//scala中对象使用object表示,单独的类型
//提供类似静态字段和静态方法的功能 ,scala不在有静态字段和静态方法
var value = 200
} object TestScala41{
def main(args: Array[String]): Unit = {
//调用对象中的类型
println(TestObject41.value) //class类,调用其中内容是需要先实例化
var c = new TestClass41
println(c.value)
}
}
/**
* 类的内容
*/
class TestClass42{
// @BeanProperty var value = 100
// private[this] var value = 100
var value = 100 } object TestScala42 {
def main(args: Array[String]): Unit = {
//class类,调用其中内容是需要先实例化
//scala中默认对类中的字段生产对应setter和getter方法,分别是value_=和value
var c = new TestClass42
c.value_=(200) //setValue() 方法
println(c.value) //getValue() 方法
}
}
对象
伴生对象
定义 Object是一种类型,与class非常相似。 Object可以提供java中的静态字段、静态方法的功能。
/**
* 伴生对象
* @author Administrator
*/
class TestObject43{
def display = {
TestObject43.value
}
} //伴生对象 同名类可以访问伴生对象私有字段
object TestObject43{
private var value = 200
} object TestScala43 {
def main(args: Array[String]): Unit = {
//println(TestObject43.value)
var c = new TestObject43
println(c.display)
}
}
/**
* 类的基本内容
*/
class TestClass44{
private var value = 100
//在开发中会有自定义setter和getter的时候,所以这个时候不用默认的setter和getter方法.
def setValue(a:Int) {
if(a>0)
this.value = a
}
def getValue = {
this.value
}
} object TestScala44 {
def main(args: Array[String]): Unit = {
var c = new TestClass44
//c setValue 1000 scala中的简写很多...简写成这样也是可以的.
c.setValue(1000)
println(c.getValue)
}
}