4.scala中的类

版权申明:转载请注明出处。
文章来源:http://bigdataer.net/?p=269

排版乱?请移步原文获得更好的阅读体验

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){
   ……
} 
主构造器参数 生成的方法
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方法

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

推荐阅读更多精彩内容