Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala“对象”变量在java中不可见吗?_Java_Scala_Scala Java Interop - Fatal编程技术网

Scala“对象”变量在java中不可见吗?

Scala“对象”变量在java中不可见吗?,java,scala,scala-java-interop,Java,Scala,Scala Java Interop,可能重复: 我有这个scala对象 object Foo { val TOTAL = 10 def totalMethod = 10 } 在java代码上执行此操作时: System.out.println(Foo.totalMethod()); 这很有效,但当我这么做的时候 System.out.println(Foo.TOTAL); 它没有: [error] /Users/pfernand/Projects/foo/Whatever.java:23: cannot f

可能重复:

我有这个scala对象

object Foo {
  val TOTAL = 10
  def totalMethod = 10
}
在java代码上执行此操作时:

System.out.println(Foo.totalMethod());
这很有效,但当我这么做的时候

System.out.println(Foo.TOTAL);
它没有:

    [error] /Users/pfernand/Projects/foo/Whatever.java:23: cannot find symbol
    [error] symbol  : variable TOTAL
    [error] location: class Foo
    [error]         System.out.println(Foo.TOTAL);
    [error]     
试一试

Scala将字段设置为私有,并提供使用相同名称的getter方法进行访问。

试试看


Scala将字段设置为私有,并提供使用相同名称的getter方法进行访问。

上述操作将创建一个getter,您应该能够使用Foo.TOTAL访问该getter。无法直接从Java、AFAIK访问该字段。

以上内容将创建一个getter,您应该能够使用Foo.TOTAL访问该getter。AFAIK无法直接从Java访问该字段。

Scala编译器生成一个带有字段名称的无参数方法。 你可以用

System.out.println(Foo.TOTAL());

Scala编译器使用字段名生成一个无参数方法。 你可以用

System.out.println(Foo.TOTAL());

确实是复制品。对不起,我在谷歌上找不到答案:这确实是一个副本。对不起,我在谷歌上找不到答案:没错,这个字段是私有的。没错,这个字段是私有的。