码迷,mamicode.com
首页 > 其他好文 > 详细

scala学习(三)

时间:2015-09-07 15:41:59      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:

scala类:

scala中类定义里,可以放置字段和方法,这些被统称为成员(memeber)

所有成员默认是共有的,如java中默认带public一样

scala中不能定义静态成员,但是可以定义单例对象,用法java的static成员用法一样,对象名.成员。

如果定义的一个class A与object A并且他们在同一个文件里面他们就是伴生关系(singleton)class A是 object A的伴生类,反过来object A是class A的伴生对象,他们可以相互访问对方的私有成员

scala中的构造器有一个主构造器和多个副构造器,组构造器是在创建class A类的时候就已经定义了,如果让主构造器new 的时候就带参数就class A(val name : String){ }必须要带上val或var,不然他不会生成对应成员,只是当做一个val的构造器参数。

如果成员加上@BeanProperty 注解 如:@BeanProperty  var name : String = "" scala会默认的给他生成getName和setName这2个方法。

如果想让主构造器变成私有的可以class A private (val name : String){ this(){this("name")} } 这样用户只能调用副构造器来构造A对象了。主构造器是有参构造,副构造器是无参构造。

scala中的嵌套类的创建方式 new 外部类.嵌套类,java中的内部类的创建方式 new 外部类().new 内部类();并且在scala在使用嵌套类的时候他的类型是为外部类.嵌套类(如类型为 my.foot 或 her.foot)表示这个我的脚与她的脚是不通的类型。

scala中的类型投影:val a = new ArrayBuffer[Network#Member] 其含义是“任何Network的Member”


scala学习(三)

标签:

原文地址:http://my.oschina.net/u/2300159/blog/502303

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!