scala的属性访问权限

scala的属性访问权限有四种:

默认访问权限;protected访问权限;private访问权限;private[this]访问权限

Scala 复制代码
package Test1104
//访问控制权限

//                  类的内部方法   伴生对象中的方法  类的外部(对象,访问)  子类对象,访问   子类方法是否可以访问    另一个对象的属性
//默认权限(pubilc)       可             可              可               可                可                  可
//private               可             可             不可               不可             不可                不可
//protected             可             可             不可               不可              可                 不可
//private[this]         可             不可            不可              不可             不可                 不可

class Student{
  //1.默认权限。类似于java中的public
  val name = "小花"

  //2.私有属性。类的内部。不能继承!
  private val score = 59

  //3.受保护的.可以继承!
  protected val car = "宝马香车"

  def say():Unit ={
    println(name,score,car)
  }
}

object Student{
  def run(obj: Student): Unit = {
    println(obj.name, obj.score, obj.car)
  }
}
//子类
class SubStudent extends Student{
  def test():Unit ={
    println(this.name,this.car)
  }
}

object Test1104 {
  def main(args: Array[String]): Unit = {
    val s = new Student()
    println(s)
    val s1 = new SubStudent()
    println(s1)
  }
}
相关推荐
qwy7152292581631 天前
3-scala的类
开发语言·后端·scala
qwy7152292581635 天前
4.scala默认参数值
开发语言·后端·scala
百流8 天前
scala基础学习(数据类型)-哈希表
学习·scala·散列表
李匠20248 天前
大数据学习之SCALA分布式语言三
开发语言·学习·scala
lisacumt9 天前
【kerberos】使用keytab文件,kerberos认证工具类 scala版本
hadoop·scala
百流10 天前
scala文件编译相关理解
开发语言·学习·scala
WorkAgent10 天前
windows下本地部署安装hadoop+scala+spark-【不需要虚拟机】
hadoop·spark·scala
JoneMaster17 天前
[读书日志]从零开始学习Chisel 第十二篇:Scala的抽象成员(敏捷硬件开发语言Chisel与数字系统设计)
开发语言·学习·scala
wlyang66620 天前
4. scala高阶之隐式转换与泛型
大数据·开发语言·后端·spark·scala
一杯拿铁go21 天前
[sparkstreaming]java.lang.NoSuchMethodError:错误以及更改
scala·noclassdeffound