scala的属性访问权限

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

默认访问权限;protected访问权限;private访问权限;privatethis访问权限

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)
  }
}
相关推荐
李白的天不白12 小时前
确认 Nginx 配置文件是否真的生效
scala
醉颜凉3 天前
Scala自定义Monad实战:从理论到应用的完整指南
大数据·算法·scala
那晚的她3 天前
Scala中Set集合
开发语言·后端·scala
IvanCodes3 天前
二、Scala流程控制:分支与循环
大数据·scala
Veggie263 天前
【Scala PyTorch深度学习】PyTorch On Scala系列课程 第十四章 29 PyTorch模型扩展自定义Module【AI Infra3】[PyTorch Scala硕士研一课程】
人工智能·深度学习·scala
Clf丶忆笙3 天前
搭建支持多语言开发的Quarkus环境:Java、Kotlin与Scala全栈指南
java·开发语言·云原生·kotlin·scala·quarkus
IvanCodes3 天前
四、Scala深入面向对象:类、对象与伴生关系
开发语言·后端·scala
嗯.~3 天前
scala的泛型应用场景
开发语言·后端·scala
醉颜凉3 天前
Scala Cats Effect纯函数式并发编程:从Fiber模型到生产级应用
大数据·网络·scala
2601_961194025 天前
考研学校专业课真题
spring boot·考研·eclipse·log4j·scala·symfony