两张图说明:
这个是不带[this]:
class OOPInScala {} class Person{ var name:String =_ val age = 27 private val gender = "male" def testPrivate(other : Person){println(other.gender)} } object OOPInScala{ def main (args: Array[String]) { val p1 = new Person val p2 = new Person p1.name = "rock" p2.name = "book" p1.testPrivate(p2) //println(p1.name + ":" + p1.gender) } } /* * 返回: male */
这个是[this] :
class OOPInScala {} class Person{ var name:String =_ val age = 27 private[this] val gender = "male" def testPrivate(other : Person){println(other.gender)} } object OOPInScala{ def main (args: Array[String]) { val p1 = new Person val p2 = new Person p1.name = "rock" p2.name = "book" p1.testPrivate(p2) //println(p1.name + ":" + p1.gender) } } /* * 报错: value gender is not a member of Person */