scala private
class Person private(val name:String)
private
修饰整个类的参数,其实效果类似于java
的私有化构造方法,无法通过new Person(..)
来实例化对象。单例模式就用到了这一点
class Person{
private Person(String name){
...
}
}
class Person(private val name:String)
private
修饰 类参数,其效果是在java
中类似于将该参数声明为私有。只能在类内部访问。
class Person{
private String name;
}
字段被private
修饰,但是还可以在伴生对象和同类其他对象中访问(例如,比较两个人的年龄),但是如果字段被private[this]
修饰,那么该字段只能在字段所在的类中访问,即使是,伴生对象和同类的其他对象都不可以访问。