scala:field

作者: 木山手札 | 来源:发表于2020-01-31 10:29 被阅读0次
  • 访问权限
    • private(当前类)
    • package权限(java中的默认权限),指定特定包访问private[包名]
    • protected(子类访问)
    • public(scala中的默认权限,不需要声明,没有public关键字)
  • 类里声明的函数叫方法,和函数声明一样,只是在类中定义,必须通过对象实例调用
  • 变量必须显示初始化,_默认初始化变量
  • @BeanProperty生成与javabean统一的set/get方法
class Person{ // 伴生类 
  var name:String = _ // _ 默认初始值,public setter/getter
  private var age:Int = _ // private setter/getter 无法在外部访问
  val email:String = _ // pubulic getter 没有setter

  protected var address:String = _ // 子类访问
  private[p1] phone:Int = _ // 只能在p1包下访问属性
}
object Person{ // 伴生对象
  def apply(): Person = new Person() // 通过伴生对象创建伴生类 val p:Person = Person 不需要new

  def fun():Unit={ // 可以通过类名直接访问,类似静态方法
    val person:Person = new Person()
    person.age // 可以访问伴生类中的私有属性
  }
}

相关文章

网友评论

    本文标题:scala:field

    本文链接:https://www.haomeiwen.com/subject/ibqgthtx.html