Scala包的使用

 1 package big.data.analyse.scala.classes
 2 
 3 /**
 4   * Created by zhen on 2018/9/15.
 5   */
 6 object Packages {
 7   def main(args: Array[String]) {
 8     val demo = spark.navigation.test.Demo()
 9     val content = "use package..."
10     demo.act(content)
11   }
12 }
13 
14 package spark.navigation{
15   abstract class Navigator{
16     def act(content : String)  //声明函数
17   }
18   package test{
19     class Demo{
20       def act(content : String) {
21         val nav = impl.Navigation()
22         nav.act(content)
23       }
24     }
25     object Demo{
26       def apply(): Demo ={
27         return new Demo
28       }
29     }
30   }
31   package impl{
32     // private[impl]:包内访问
33     // private[this]:当前对象私有,相同类的不同对象及不同类的对象都不能访问
34     // 包含:private,protected,public
35     private[impl] class Navigation extends Navigator{
36       override def act(content : String): Unit ={
37         print(content)
38       }
39     }
40     object Navigation{
41       def apply(): Navigation ={
42         return new Navigation
43       }
44     }
45   }
46 }

结果:

总结:

  Scala中的包的使用时为了对代码进行分区,以便进行管理和权限设定,对代码的简洁性和直观性都有很好的提升,便于代码重用!

猜你喜欢

转载自www.cnblogs.com/yszd/p/9650049.html
今日推荐