Scala中包、类、对象、成员访问权限理解

本文通过下面一个程序简单分析下包、类、对象访问权限的情况:

成都创新互联公司主营海拉尔网站建设的网络公司,主营网站建设方案,app软件开发,海拉尔h5重庆小程序开发搭建,海拉尔网站营销推广欢迎海拉尔等地区企业咨询

package spark {
  package navigation {
    private[spark] class Navigator {
      protected[navigation] def useStartChar() = println("navigation")
      class LegOfJourney {
        private[Navigator] val distance = 100
      }
      private[this] var speed = 200
    }
    
    class Test{
       new Navigator().useStartChar()
    }
  }

  package launch {
    object Vehicle {
        private[launch] val guide = new navigation.Navigator
    }
  }
}

首先先分析下上面程序,spark包下有两个包navigation和launch,在包navigation里面定义了类Navigator,并将其访问权限升级为spark包下所有,意思是在spark包里面都可以访问该类,

如下面包launch里面就访问了类Navigator,private[launch] val guide = new navigation.Navigator。

在类Navigator中定义了方法useStartChar(),并将其的访问权限设置为navigation,这表明只能在包navigation里面访问该方法,如Test类中new Navigator().useStartChar()

private[this] var speed = 200,这个只能在类Navigator中访问,不能再该类其他类对象中访问。


网站题目:Scala中包、类、对象、成员访问权限理解
文章源于:http://www.hxwzsj.com/article/jihehg.html

其他资讯

Copyright © 2025 青羊区翔捷宏鑫字牌设计制作工作室(个体工商户) All Rights Reserved 蜀ICP备2025123194号-14
友情链接: 网站制作 H5网站制作 成都网站建设公司 营销型网站建设 成都网站制作 成都网站建设公司 温江网站设计 定制级高端网站建设 成都模版网站建设 攀枝花网站设计 成都网站建设推广 手机网站建设 网站制作 网站设计 网站建设公司 营销网站建设 成都网站制作 阿坝网站设计 app网站建设 做网站设计 自适应网站建设 外贸网站设计方案