媒体网站模版,专业网页设计哪家好,网站优化 无需定金,盐城市建设局网站设计备案资料Scala使用包来创建用于模块化程序的命名空间。通过在Scala文件的顶部声明一个或多个包名称可以创建包#xff0c;另一种声明包的方式是使用0#xff0c;这种方式可以嵌套包#xff0c;并且提供更好的范围与封装控制。对于包的导入#xff0c;Scala与Java的区别之一便是另一种声明包的方式是使用0这种方式可以嵌套包并且提供更好的范围与封装控制。对于包的导入Scala与Java的区别之一便是Scala可以在任意位置使用import语句。
1.1 Scala的包 下面主要从包的定义、语法以及包的作用域介绍Scala包的相关知识。通过与Java中包的作用域对比说明两者的区别与联系。
1.Scala的包定义 相比于Java中的包Scala中的包可以定义在文件的开头也可以在代码的任意位置。Scala的包用于解决类的命名冲突和类的文件管理。在引入类时加上包名可以区分不同的类解决类名冲突的问题。 类的文件管理就是通过包名可以把具有相同功能的不同类组织在一起放入同一个包中。
2.Scala包的语法
Java中包的语法为:
package name
与Java相比Scala中有两种包的定义语法第一种与Java相同第二种包的语法格式为:
package name{
}
通过第二种方式可以在{ }中定义不同的包实现包的嵌套。 1.2 Scala的包的导入 为了解决不使用包的全名这一问题引入了包的导入方法。包的导入有两种方式一种是显式导入另一种是隐式导入。Scala中的隐式导入表示每个Scala程序默认都会隐式导入java.lang._和scala. Predef._中的所有成员。
1.Scala的导入语法 在Scala中显式导入包使用import关键字。假如m包下有A、B、C三个类如果想要导入 m包下所有类使用import m. ;如果只需要导入m包中的A类使用import m.A; 如果想要导入A和B两个类使用import m.{A,B}。
2.导入成员重命名 如果在个类中需要导入不同包中的成员且成员名相同可以通过导入成员重命名的方式区分不同包中的成员其语法格式为:
import {Aa}
例如 import com.B.{ab}表示把B包中的a类重命名为b。
3.导入成员隐藏类 如果一个包中包含多个类除包中某一个类之外都需要导入可以使用导入成员隐藏类的方法 其语法格式为:
import {A_,_} 其中第一个_表示需要隐藏的类第二个_表示除需要隐藏的类之外的所有类。例如包A中有ab,c,d四个类需要隐藏d类则可以使用import com.A.{d_,_}表示。
相关代码如下
//1.单个导入
//import com.scala02.A
//import com.scala02.B//2.导入多个
//import com.scala02.{A,B}//3.导入一个包下所有的类:包名._
//import com.scala02._//4.导入一个包中的类给他改个名字
//格式:import 包名.{原来的名字 新名字}
//import com.scala02.{A BigA}//5.隐藏导入类
import com.scala02.{C_,_}object Test23 {//5.局部导入就在方法内部去导入要用的包def main(args: Array[String]): Unit {
// import com.scala02.{A BigA}
// new BigA()new A()new B()new C()new Student()}
}
1.3 Scala的包对象
包对象的语法如下
package object 包名