十三,包和引用

来源:互联网 发布:js beforeunload 编辑:程序博客网 时间:2024/06/05 05:30

打包

         scala的代码采用了java平台完整的包机制。你可以使用两种方式把代码放进包里:

①  使用放在文件顶部的package子句来把整个文件放入包中;

②  使用package子句把要放入到包中的代码用花括号括起来,这种方式像C#的命名空间。使用这种方式,你可以定义出嵌套的包,注意:scala的包可以嵌套,java则不可以。任何你自己写的顶层包都被隐含地包含在_root_包中,因此你可以在多层嵌套的包代码中通过_root_来访问顶层包中的代码。

 

引用

         与java类似,scala使用import来引用,与java不同的是,scala的import子句:

①  可以出现在任何地方,而不仅仅在文件开始处;

②  可以引用对象和包;

③  可以重命名或隐藏一些被引用的成员。这可以通过在被引用成员的对象之后加上括号里的引用选择器子句来做到,示例如下(令p为包名):

import p.{x}                           // 从p中引入x,等价于 import p.x

import p.{x => y}                    // 从p中引入x,并重命名为y

import p.{x => _, _}               // 从p中引入除了x之外的所有东东。注意单独的“_”称作全包括,必须位于选择器的最后。import p.{_} 等价于 import p._

 

隐式引用

         scala隐含地为每个源文件都加入如下引用:

                   import java.lang._

                   import scala._

                   import Predef._

包scala中的Predef对象包含了许多有用的方法。例如:通常我们所使用的println、readLine、assert等。

原创粉丝点击