下面舉個例子
新建幾個package如下
TestClass.scala 中的內容如下
package test
private[test] class TestClass {
private var sum = 0
def add(b: Byte): Unit = {
sum += b
}
def checksum(): Int = {
return ~(sum & 0xFF) + 1
}
}
我們在package,testone中創建一個ChecksumAccumulator.scala文件
具體內容如下:
package test.testone
private[testone] class ChecksumAccumulator {
private var sum = 0
def add(b: Byte): Unit = {
sum += b
}
def checksum(): Int = {
return ~(sum & 0xFF) + 1
}
}
下面來測試一下:
我們在testone中創建一個測試文件test1.scala。在裏面調用一下
ChecksumAccumulator 和 TestClass
test1.scala的代碼如下:
package test.testone
import test.TestClass
object test1 extends App{
val a = new TestClass
println("Test is TestClass ok!")
a.add('c')
println(a.checksum())
val b = new ChecksumAccumulator
println("Test is ChecksumAccumulator ok!")
b.add('d')
println(b.checksum())
}
Test is TestClass ok!
-99
Test is ChecksumAccumulator ok!
-100
我們在testtwo中創建test2.scala文件內容如下:
package test.testtwo
import test.TestClass
object test2 extends App{
val a = new TestClass
println("Test is ok!")
a.add('c')
println(a.checksum())
}
也可以正常打印出,如下內容:
Test is ok!
-99
當我們把代碼
val b = new ChecksumAccumulator
println("Test is ChecksumAccumulator ok!")
b.add('d')
println(b.checksum())
放入test2.scala中包如下錯誤:
not found: type ChecksumAccumulator
我們導入一下import test.testone.ChecksumAccumulator
就會報如下錯誤:
一上是本人測試的結果,如有問題,還請各位指點,一起,學習進步!