Scala的访问权限。

Scala中权限访问

Scala中的访问权限和Java一致,采用public, private, protected三种访问权限。在不声明访问权限的情况下,Scala使用public作为默认权限private为私有属性,只有在类的内部和伴生对象中可用protected为受保护权限,同类、子类可以访问,但是同包不行Scala中的private限定符比Java更严格,在嵌套类情况下,外层类甚至不能访问被嵌套类的私有成员

Scala 复制代码
object day21 {
  //访问控制权限

  //             类的内部方法   伴生对象中的方法   类的外部(对象,访问)  子类对象,访问   子类方法是否可以访问  另一个对象的属性
  // 默认权限(public) 可            可               可                可               可                可
  //private           可            可              不可              不可             不可              不可
  //protected         可            可              不可              不可               可              不可
class  Student{
    //1.默认权限。类似于java中的public
    val name = "小花"
    //2.私有属性。类的内部。不能继承!
    private  val score = 59
    //3.受保护的。可以继承
    protected  val car = "宝马香车"

    def say():Unit = {
      println(name,score)
    }
  }
object Student{
  def run(obj:Student):Unit = {
    println(obj.name,obj.score)
  }
}
  //子类
class  SubStudent extends Student{
    def test():Unit = {
      println(this.name,this)
    }
  }
object day21_1{
  def main(args: Array[String]): Unit = {
    val s = new  Student()
    s.
      val s1 = new  SubStudent
      s1.
  }
}

}
相关推荐
We་ct7 小时前
深度剖析浏览器跨域问题
开发语言·前端·浏览器·跨域·cors·同源·浏览器跨域
skywalk81637 小时前
在考虑双轨制,即在中文语法的基础上,加上数学公式的支持,这样像很多计算将更加简单方便,就像现在的小学数学课本里面一样,比如:定x=2*x + 1
开发语言
小书房7 小时前
Kotlin的by
android·开发语言·kotlin·委托·by
就叫飞六吧8 小时前
QT写一个桌面程序exe并动态打包基本流程(c++)
开发语言·c++
threelab8 小时前
Three.js 代码云效果 | 三维可视化 / AI 提示词
开发语言·javascript·人工智能
V搜xhliang02468 小时前
OpenClaw科研全场景用法:从文献到实验室的完整自动化方案
运维·开发语言·人工智能·python·算法·microsoft·自动化
kaikaile19958 小时前
风、浪、流环境模型的船舶三自由度(纵荡、横荡、艏摇)运动仿真MATLAB
开发语言·人工智能·matlab
fish_xk8 小时前
map和set
java·开发语言
李崧正8 小时前
Java技术分享:Lambda表达式与函数式编程
java·开发语言·python
老了,不知天命8 小时前
鳶尾花項目JAVA
java·开发语言·机器学习