Estou tentando usar Scala e Java em um projeto. Estou trabalhando com o Scla IDE for Eclipse. Eu tenho dois pacotes no meu projeto Scala: um para o meu código scala e outro para o meu código java.
Agora, digamos que eu crie um novo JavaClass com um membro estático.
package javastuff;
public class MyJavaClass {
public static String MESSAGE = "Im Java";
}
Depois disso, estou tentando obter acesso a essa variável e, de alguma forma, não posso. Engraçado, porque o scala é capaz de ver a classe Java "MyJavaClass", mas não é possível ver MENSAGEM.
import javastuff.MyJavaClass
object Main {
def main(args: Array[String]) {
println(MyJavaClass.MESSAGE)
}
}
- O valor MESSAGE não é um membro do objeto javastuff.MyJavaClass
Se eu usar Projeto / Limpeza ... 1-2x vezes o eclipse talvez esteja começando a perceberque o membro MESSAGE está realmente lá e está tudo bem. Isso é normal? Talvez eu esteja fazendo algo errado, eu sei que o eclipse é realmente um IDE ruim e talvez eu devesse experimentar o IntelliJ, mas de alguma forma eu gosto do eclipse e gostaria de usar mais tarde alguns dos meus plugins favoritos, é por isso que eu não mudaria o IDE apenas por causa de este problema. Alguma idéia de como lidar melhor com esse problema?
Respostas:
1 para resposta № 1O Scala não possui campos estáticos. Aqui está um blogpost sobre isso
btw. estática pública sem final é um design muito ruim (sem encapsulamento => possíveis vazamentos de memória)