因此,在 Java 中,您编写了一个公共静态变量,并且必须通过说 class.var 在类外访问它在主文件中。
希望了解编译器如何在使用相同 class.publicstatic 方法的 Java 和面向对象语言上工作。
因此,在 Java 中,您编写了一个公共静态变量,并且必须通过说 class.var 在类外访问它在主文件中。
希望了解编译器如何在使用相同 class.publicstatic 方法的 Java 和面向对象语言上工作。
您可以在不同的类中使用同名的静态变量。您可能会在未指定类名的情况下在此请求中遇到错误。举个例子;
package com.axample;
import ...
public static class FooClass{
public static int staticVariable;
.
.
.
}
package com.axample;
import ...
public static class BarClass{
public static int staticVariable;
.
.
.
}
import static com.example.FooClass.*;
import static com.example.BarClass.*;
public class Main{
public static void Main(String[] args){
int baz = 0;
//staticVariable = baz ; //Error
BarClass.staticVariable = baz; //Must be
}
}
,
类的静态成员不在类之外的范围内,甚至不在同一个包中的其他类中。
然而,您可以通过添加静态导入将它们添加到当前类的范围,例如
import static com.example.Foo.*;
import static com.example.Bar.doStuff;
这会将类 Foo
的所有静态成员添加到名称范围。
它还将在 doStuff
类中添加方法 Bar
的所有静态重载。