Scala 之 private[this] val 与 private val的区别



两张图说明:


这个是不带[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
*/


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值