Scala类基础
2014-08-29 18:31 Rollen Holt 阅读(659) 评论(0) 编辑 收藏 举报最近在开始学习Scala,本篇文章我们来讲解一下Scala中类的使用
class Counter {
var defaultValue = 0
val valValue = 0
private var privateValue = 0
private[this] var value = 0
def increment(): Unit = {
value += 1
}
def current(): Int = {
value
}
def current1(): Int = value
def current2: Int = value
}
object Counter {
def main(args: Array[String]) {
val counter: Counter = new Counter
println(counter.current())
println(counter.current1())
println(counter.current2) //不能采用counter.current2()方式调用
}
}
上面的例子就是一个Scala中的类的一般写法。
有几个需要注意的点:
- Scala中方法默认都是公有的
- 必须初始化Scala类中的字段
- 在Scala中,类并不声明为
public
, Scala源文件可以包含多个类,并且这些类都具有公共可见性
我们也可以自己定义getter和setter方法:
package com.rollenholt.showcase.scala.clazz
class Counter {
private var defaultValue:Int = 0
def value = defaultValue
def value_= (newValue: Int): Unit ={
if(newValue == 1){
defaultValue = 2
}
}
}
object Counter {
def main(args: Array[String]) {
val counter: Counter = new Counter
println(counter.value)
counter.value = 1
println(counter.value)
counter.value = 2
println(counter.value)
}
}
输出
0
2
2
==============================================================================
本博客已经废弃,不在维护。新博客地址:http://wenchao.ren
我喜欢程序员,他们单纯、固执、容易体会到成就感;面对压力,能够挑灯夜战不眠不休;面对困难,能够迎难而上挑战自我。他
们也会感到困惑与傍徨,但每个程序员的心中都有一个比尔盖茨或是乔布斯的梦想“用智慧开创属于自己的事业”。我想说的是,其
实我是一个程序员
==============================================================================