1. 包的作用:命名空间控制,及访问控制
package com{
package horstmann{
class Employee{
def t1() = {
println("i am t1")
}
def t3() = {
new com.Employee().t2 // 可以访问上级的作用域
}
}
}
class Employee{
def t2() = {
println("i am t2")
}
}
}
object Test {
def main(args: Array[String]): Unit = {
new com.horstmann.Employee().t1
new com.Employee().t2 // 命名空间的控制, 同一个类可以有不同的访问路径
new com.horstmann.Employee().t3 // 内层作用域访问外层的作用域
}
}
2. 串联式包名
package com.horstmann{
//com 和 om.horstmann 成员不可见
class Employee{
def t1() = {
println("i am t1")
}
}
}
object Test {
def main(args: Array[String]): Unit = {
new com.horstmann.Employee().t1
}
}
3. 文件顶部标记
package com.horstmann
class Employee{
def t1() = {
println("i am t1")
}
}
object Test {
def main(args: Array[String]): Unit = {
new com.horstmann.Employee().t1
}
}
这样Employee 和Test 都在com.horstmann 下面
4. 包对象
package com.horstmann
package object Person{
val defaultName = "haha"// 定义变量和函数,方便Person用
}
package Person{
class Employee {
def t1() = {
println(defaultName)
}
}
}
object Test {
def main(args: Array[String]): Unit = {
new com.horstmann.Person.Employee().t1
}
}
5. 引入
import 引入需要的包, '_'用来通配,而且import 可以出现在任何地方
Java包作用与实例解析
本文详细阐述了Java包的概念及其在命名空间控制、访问控制、串联式包名、文件顶部标记、包对象和引入等方面的应用,并通过实例进行说明。

被折叠的 条评论
为什么被折叠?



