最新消息:深度思考

4.scala中的类

scala liuxuecheng 2186浏览 0评论

版权申明:转载请注明出处。
文章来源:大数据随笔

1.针对不同字段生成的方法

字段 生成的方法 备注
var/val name 公有的name和name_=方法(仅var) 可以被公开访问
@BeanProperty val/var name 公有的name,getName(),name_(仅var),setName(仅var) 与JavaBean互操作
private val/var name 私有的name,name_(仅var) 用于将字段的访问限制在本类
private[this] val/var name 将字段访问限制在同一个对象
private[类名] val/var name 依赖于具体实现 将字段的访问权限赋予外部类

2.构造器

2.1 辅助构造器。
scala中辅助构造器的名称为this,辅助构造器的使用由其他辅助构造器或者主构造器引用。举例:一个带有两个辅助构造器的类。

 class People{
    private var name:String = ""
    private var age:Int = 0
    def this(name:String){
        this.name = name
    }
    def this(name:String,age:Int){
        this.name = name
        this.age = age
    }
 }

2.2 主构造器。
scala中主构造器的参数直接放在类名之后,相对于java来说,这种写法更为简单。如:

 class People(val name:String,val age:Int){
    ……
 } 

2.3 主构造器不同字段生成的方法。

主构造器参数 生成的方法
name:String 对象私有字段,如果name没被使用,则不会生成name字段。
val/var name:String 私有字段,公有getter或setter方法。
private val/var name:String 私有字段,私有的getter或setter方法。
@BeanProperty val/var name:String 私有字段,生成java版的getter或setter方法

更多文章请关注微信公众号bigdataer

转载请注明:大数据随笔 » 4.scala中的类

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址