Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/307.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
Java-在任何地方使用一次声明类_Java_Class_Static_Global - Fatal编程技术网

Java-在任何地方使用一次声明类

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是我常用类的

很简单的问题,但我不理解静态正确

我有一个java文件,它保存我的main及其调用testMain

在我的testMain中,它使用其他类创建了许多类

例如,testMain>>GUI和testMain>>模型和testMain>>控制器

现在我有一个名为generatorTester的类,我想声明一下,它类似于:

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。