Scala 028 private[this]访问权限

Scala 028 private[this]访问权限

如果某个成员的权限设置为private[this],表示只能在当前类中访问。
伴生对象也不可以访问

例如:

  1. 定义一个Person类,包含一个name字段
  2. 定义Person类的伴生对象,定义printPerson方法
  3. 测试伴生对象是否能访问private[this]权限的成员
package demo02

object Scala13 {

  class Person(private[this] var name: String)

  object Person {
    def printPerson(person: Person): Unit = {
      println(person.name)
    }
  }

  def main(args: Array[String]): Unit = {
    val person = new Person("张三")
    Person.printPerson(person)
  }
}

上述代码,会编译报错。但移除掉[this]就可以运行了。

发布了293 篇原创文章 · 获赞 184 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_42072754/article/details/105201668
今日推荐