package com {
package horstmann {
object A {
def hi = println("I'm A")
}
package impatient {
object B extends App {
def hi = A.hi
hi
}
}
}
}
这个可以执行,
上面图片引入包的方式,A在父包中,得需要导入,才不会报错。
我是这么认为的:串联式导入,没有分(包)阶段导入,只是一站式的导入最后包中的所有类;
解决上面的办法:
- 直接导入,或者局部导入
package com.horstmann.impatient {
import com.horstmann.A
object C extends App {
//import com.horstmann.A
B.hi
A.hi
}
}
- 可以使用文件顶部标记方法
package com
package horstmann
package impatient
object C extends App {
B.hi
A.hi
}
Scala中默认包的导入导入是相对路径的,要相对导入可以使用
绝对包名 root.你想导入包的路径
串联式导入
觉得Scala包的导入,比java更灵活些