我有一個用Scala編寫的模塊,我需要將它集成到Java Web應用程序中。一切都很正常,但事實上,方法和字段是通過Java類訪問Scala時的可見性
private[somepackage]
在Scala類
似乎是從訪問Java代碼從包外。有什麼方法可以隱藏這些嗎?
編輯:例子說明發生了什麼
package my.scala.module
class SomeClass {
private[scala] val myValue = "this should be hidden"
}
package com.something.service;
import my.scala.module.SomeClass;
public class MyService {
private static SomeClass someInstance = new SomeClass();
public static void main(String[] args){
System.out.println(someInstance.myValue());
}
}
運行主要會引起「這應該是隱藏的」打印
我想一個小的工作示例來顯示確切的錯誤是必需的。我還沒有遇到這個問題。 –
發佈了一個作爲編輯 – aiguy
http://www.ibm.com/developerworks/library/j-scala07298/顯示了您的問題的一個示例。 –