/**
* Scala的包與Java的包的作用類似
* 但是1.Scala的包路徑與文件路徑無(wú)關(guān)
* 2.Scala的包可以嵌套使用(不習(xí)慣使用,覺(jué)得亂)
* 3.Scala的每個(gè)包都可以有一個(gè)包對(duì)象
*/
packagecom {
packagelearn {
objectLearnStudy {
defprintlnLearn(): Unit = {
println("printlnLearn")
}
}
/**
* 包對(duì)象 ,包對(duì)象名與包名相同
*/
package objectstudy{
valSTUDYING ="studying";
valSTUDYED ="finish study"
}
packagestudy {
/**
* 在study包中使用兄弟包的類
* “_”通配符與Java的“*”一樣表示引入該包下所有的類
* (*是Scala中的合法標(biāo)識(shí)符)
*
* Scala的包引入比Java的花樣多
*/
importutil._
/**
* 與Java一樣導(dǎo)入指定的類
*/
importjava.util.List
/**
* 導(dǎo)入多個(gè)指定的類
*/
importjava.util.{ArrayList,LinkedList}
/**
* 重命名類,避免與其他包下相同名的類沖突
*/
importjava.util.{HashMap=>JavaHashMap}
importcollection.mutable.HashMap
/**
* 不引入java.io包下的File類,但引入java.io包下的其他所有類
*/
importjava.io.{File=>_,_}
classStudy{
valstudy =STUDYING
}
objectStudy {
defmain(args: Array[String]): Unit = {
/**
* 兄弟包中的類
*/
Util.printlnHello();
/**
* 父級(jí)包中的類
*/
LearnStudy.printlnLearn();
/**
* 直接使用包對(duì)象中的屬性
*/
println(STUDYING)
/**
* 使用Java中的hashMap
*/
varmap =newJavaHashMap[String,Any]()
/**
* 使用scala的HashMap
*/
varhashMap = HashMap[String,Any]
}
}
}
/**
* 工具包
*/
packageutil {
objectUtil {
defprintlnHello(): Unit = {
println("hello world")
}
}
}
}
}