Java-在任何地方使用一次声明类
很简单的问题,但我不理解静态正确 我有一个java文件,它保存我的main及其调用testMain 在我的testMain中,它使用其他类创建了许多类 例如,testMain>>GUI和testMain>>模型和testMain>>控制器 现在我有一个名为generatorTester的类,我想声明一下,它类似于:Java-在任何地方使用一次声明类,java,class,static,global,Java,Class,Static,Global,很简单的问题,但我不理解静态正确 我有一个java文件,它保存我的main及其调用testMain 在我的testMain中,它使用其他类创建了许多类 例如,testMain>>GUI和testMain>>模型和testMain>>控制器 现在我有一个名为generatorTester的类,我想声明一下,它类似于: public static utils.generatorTester randomGen = new utils.generatorTester (); (utils是我常用类的
public static utils.generatorTester randomGen = new utils.generatorTester ();
(utils是我常用类的自定义包)
为什么上面这行不大声叫我做下面的事
classNameOfMainFunction.randomGen
我在这里编程错了吗?这可能吗
我很想让这个课程全球化,并在任何地方使用它。你能得到的最好结果是:
public abstract class GloballyUsed {
public static int method() { return 4;
/* determined by fair
* dice roll, guaranteed to be random */
}
以及:
去别处打电话
注意每个注释(我刚刚了解到这一点),因为Java 5,您可以只导入一个特定的方法名,如下所示:
import static {package}.GloballyUsed.method;
注意:我添加了关键字
abstract
,这是为了进一步说服您,您从未实际实例化GloballyUsed
。它没有实例。您可能需要阅读一些关于static
的含义。关于您能得到的最好信息是:
public abstract class GloballyUsed {
public static int method() { return 4;
/* determined by fair
* dice roll, guaranteed to be random */
}
以及:
去别处打电话
注意每个注释(我刚刚了解到这一点),因为Java 5,您可以只导入一个特定的方法名,如下所示:
import static {package}.GloballyUsed.method;
注意:我添加了关键字
abstract
,这是为了进一步说服您,您从未实际实例化GloballyUsed
。它没有实例。您可能需要阅读一下static
的含义。公共类的公共静态字段可以在任何地方使用,您只需使用正确的语法即可访问它
如果您声明:
package foo;
public class Global {
public static Some thing;
}
做
import foo.Global;
您可以使用
Global.thing
或者,你也可以这样做
import static foo.Global.thing;
并使用
thing
公共类的公共静态字段可以在任何地方使用,只需使用正确的语法即可访问它 如果您声明:
package foo;
public class Global {
public static Some thing;
}
做
import foo.Global;
您可以使用
Global.thing
或者,你也可以这样做
import static foo.Global.thing;
并使用
thing
这意味着在我的所有其他类中,我不需要创建新的GlballyUsed类?在Java中,您不能专门导入,只调用
method()
。您可以使用Java 5,但只能用于static
field/methods。这意味着在我的所有其他类中,我不需要创建新的GlballyUsed类?您不能在Java中专门导入,而只调用method()
。您可以使用Java 5,但只能用于static
field/methods。