一、前言
前面介紹了Scala的Object,由于中間論文的時(shí)間耽誤了些時(shí)間,接著繼續(xù)學(xué)習(xí)Scala的Packaging和Imports
二、Packaging and Imports
Scala的包用法與Java類似,但更靈活。在class文件頂端使用package語法,并且可以使用帶中括號的package語法,與Java相比,Scala的導(dǎo)入有如下特點(diǎn)
· 可在任何地方使用import聲明
· 可導(dǎo)入類、包、對象
· 對導(dǎo)入的成員隱藏或者重命名
并且在Scala中,隱式導(dǎo)入了java.lang._和scala.lang._兩個(gè)包,_與Java中的*一樣,表示導(dǎo)入包下所有的類,除了上述兩個(gè)包,scala.Predef對象也被隱式導(dǎo)入,可以詳細(xì)閱讀Predef的源代碼,里面包含了很多Scala的語法
2.1 帶有中括號符號的包
1. 問題描述
你想使用一個(gè)嵌套風(fēng)格的包符號,類似于C++和C#命名空間的符號
2. 解決方案
將類放置在有中括號的包名中,如下所示
package com.hust.grid { class Foo { override def toString = "I am com.hust.grid.Foo" } }
類的規(guī)范名字是com.hust.grid.Foo,其等效于如下代碼
package com.hust.grid class Foo { override def toString = "I am com.hust.grid.Foo" }
使用這種方法,可以在一個(gè)文件中放置多個(gè)package,也可以使用“中括號”風(fēng)格嵌套包
下面示例展示了三個(gè)不同的Foo類,F(xiàn)oo類在不同的包中