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包的使用

总结:

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

 

相关文章:

  • 2021-05-20
  • 2021-08-24
  • 2021-07-05
  • 2022-01-16
  • 2021-05-27
  • 2021-08-09
猜你喜欢
  • 2021-10-14
  • 2022-12-23
  • 2021-06-06
  • 2021-08-19
  • 2022-12-23
  • 2022-12-23
  • 2021-12-25
相关资源
相似解决方案