叽叽喳喳,嘻嘻哈哈

导航

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]修饰,那么该字段只能在字段所在的类中访问,即使是,伴生对象和同类的其他对象都不可以访问。

posted on 2017-12-14 09:17  叽叽喳喳,嘻嘻哈哈  阅读(223)  评论(0编辑  收藏  举报