scala:field
2020-01-31 本文已影响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 // 可以访问伴生类中的私有属性
}
}