0007.Scala类的属性和对象私有字段实战详解

15 篇文章 0 订阅
package  com.jn.scala.hello

/**
 * @author jiangning
 */
//类默认就是public的
class  Person {
//  1.定义变量必须有初始值
   private  var  age =  0
   def  increment(){age +=  1 }
   def  current =  age
}

class  Student{
//  2.声明一个属性age,属性是private级别的默认
//  默认会自动生成get与set方法,不用像java一样写get与set方法
   var  age =  0
   private  var  privateAge =  0
   private [  this ]  var  privateThisAge =  0
   def  ages =  privateAge
//  默认只有get方法,没有set方法
   val  name =  "Scala"
//  class内部可以调用私有属性,
   def  isYounger(other: Student) =  privateAge  <  other .privateAge
 
//  def isYounger(other: Student) = privateThisAge < other.privateThisAge
}
object  HelloOOP  {
   def  main(args: Array[  String ]) {
     val  person =  new  Person()
     person .increment()
     person .increment()
     println ( person .current)
   
     val  student =  new  Student()
//  默认定义一个set方法  def age_=(x$1: Int ): Unit
     student .age =  10
//  默认定义一个get方法  def age: Int ,通过age方法取出age的值,
     println ( student .age)
   
     println ( student .name)
//    student.name = "good"//不能进行值的改变,
  }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值