Scala中的类和对象
类的定义
使用class定义
类的字段
在类中使用var,val定义字段
类的方法
scala中,使用var定义字段默认提供setter和getter方法
对应名称为 value_= 和value
1 /** 2 * 类和对象 3 */ 4 class TestClass41{ 5 var value = 100 6 } 7 8 object TestObject41 { 9 //java中类的实例化称之为对象 10 //scala中对象使用object表示,单独的类型 11 //提供类似静态字段和静态方法的功能 ,scala不在有静态字段和静态方法 12 var value = 200 13 } 14 15 object TestScala41{ 16 def main(args: Array[String]): Unit = { 17 //调用对象中的类型 18 println(TestObject41.value) 19 20 //class类,调用其中内容是需要先实例化 21 var c = new TestClass41 22 println(c.value) 23 } 24 }
1 /** 2 * 类的内容 3 */ 4 class TestClass42{ 5 // @BeanProperty var value = 100 6 // private[this] var value = 100 7 var value = 100 8 9 } 10 11 object TestScala42 { 12 def main(args: Array[String]): Unit = { 13 //class类,调用其中内容是需要先实例化 14 //scala中默认对类中的字段生产对应setter和getter方法,分别是value_=和value 15 var c = new TestClass42 16 c.value_=(200) //setValue() 方法 17 println(c.value) //getValue() 方法 18 } 19 }
对象
伴生对象
定义 Object是一种类型,与class非常相似。 Object可以提供java中的静态字段、静态方法的功能。
1 /** 2 * 伴生对象 3 * @author Administrator 4 */ 5 class TestObject43{ 6 def display = { 7 TestObject43.value 8 } 9 } 10 11 //伴生对象 同名类可以访问伴生对象私有字段 12 object TestObject43{ 13 private var value = 200 14 } 15 16 object TestScala43 { 17 def main(args: Array[String]): Unit = { 18 //println(TestObject43.value) 19 var c = new TestObject43 20 println(c.display) 21 } 22 }
1 /** 2 * 类的基本内容 3 */ 4 class TestClass44{ 5 private var value = 100 6 //在开发中会有自定义setter和getter的时候,所以这个时候不用默认的setter和getter方法. 7 def setValue(a:Int) { 8 if(a>0) 9 this.value = a 10 } 11 def getValue = { 12 this.value 13 } 14 } 15 16 object TestScala44 { 17 def main(args: Array[String]): Unit = { 18 var c = new TestClass44 19 //c setValue 1000 scala中的简写很多...简写成这样也是可以的. 20 c.setValue(1000) 21 println(c.getValue) 22 } 23 }
作者:SummerChill 出处:http://www.cnblogs.com/DreamDrive/ 本博客为自己总结亦或在网上发现的技术博文的转载。 如果文中有什么错误,欢迎指出。以免更多的人被误导。 |