Scala学习笔记9 - 包和引用

本文详细介绍了Scala语言中的包和引用机制,包括如何使用package子句定义和组织代码,以及如何利用import语句来引用对象和包。文章还探讨了Scala特有的引用特性,如灵活的import位置、重命名及隐式引用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

===包和引用

打包

      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等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值