首页 > 代码库 > 5.scala中的对象
5.scala中的对象
排版乱?请移步原文获得更好的阅读体验
1.单例对象
scala中没有静态类或者静态方法,都是通过object实现的,它表示某个类的单例对象。如object People是class People的单例对象。
2.伴生对象
java中有些类可能会既有静态方法又有实例方法,在scala中静态方法存在于对象中,也就意味中scala中需要有这么一个东西,它既是类,也含有对象。其中的对象就是类的伴生对象,同样的,类就是对象的伴生类。需要注意的是类和它的伴生对象可以相互访问私有属性,它们也必须存在于同一个源文件中。如:
scala 14行
class People{
private val name:String = ""
def run()={
……
}
}
object Peole{
private var age:Int
def age(){
this.age += 1
}
}
3.apply方法
调用apply方法其实是调用的类对应的伴生对象的apply方法,apply方法类似于使用构造器,但是在嵌套结构中使用apply方法能省去使用new。Array("marry","alice")其实是调用了Array类对应的伴生对象的apply方法。看一个实例:
scala 12行
class Peopel(salary:Int){
……
}
object People{
def apply(salary:Int):People= {
new People(salary)
}
}
val p = People(100) //此处调用了伴生对象的apply方法
4.枚举
scala中没有枚举类型,实现方式是通过Enumeration产出枚举。比如:
scala 9行
object ColorEnum extends Enumeration {
val Red,Green,Yellow = Value //调用了Value方法生成三个枚举值
/*相当于
val Red = Value
val Green = Value
val Yellow = Value
*/
}
更多文章请关注微信公众号:bigdataer
5.scala中的对象
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。