码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2016-05-17 19:56:22      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:包、类、对象、成员访问权限

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

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中访问,不能再该类其他类对象中访问。


本文出自 “DT_Spark大数据梦工厂” 博客,请务必保留此出处http://18610086859.blog.51cto.com/11484530/1774371

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

标签:包、类、对象、成员访问权限

原文地址:http://18610086859.blog.51cto.com/11484530/1774371

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!