0

非常に単純な問題ですが、静的を正しく理解していません。

メインとその呼び出しtestMainを保持するJavaファイルがあります。

私のtestMainでは、他のクラスを使用して多くのクラスを作成します。

例:testMain>>GUIおよびtestMain>>modelおよびtestMain>>controller

これで、generatorTesterというクラスができました。これは、次のように一度宣言したいと思います。

public static utils.generatorTester randomGen = new utils.generatorTester ();

(utilsは私の一般的なクラスのカスタムパッケージです)

上記の行が私に次のことを声に出さないのはなぜですか

classNameOfMainFunction.randomGen

私はここでプログラミングが間違っていますか?これも可能ですか。

私は基本的にクラスをグロブに作成し、どこでも使用したいと思っています。

4

2 に答える 2

2

あなたが得ることができる最高のものについてはこれです:

public abstract class GloballyUsed {
    public static int method() { return 4; 
    /* determined by fair
     * dice roll, guaranteed to be random */
    }

と:

GloballyUsed.method();

他の場所に電話する。

コメントごとに注意してください(私はこれを学びました)Java 5以降、特定のメソッド名だけを次のようにインポートできます。

import static {package}.GloballyUsed.method;

キーワードを追加したことに注意してくださいabstract。これは、実際にはインスタンス化しないことをさらに納得させるためですGloballyUsed。インスタンスはありません。staticあなたはおそらく、どういう意味かについてやるべきことをいくらか読んでいるでしょう。

于 2013-03-01T22:12:38.227 に答える
2

パブリッククラスのパブリック静的フィールドはどこでも使用できます。アクセスするには、適切な構文を使用する必要があります。

宣言する場合:

package foo;

public class Global {
    public static Some thing;
}

そして、やります

import foo.Global;

あなたはでフィールドにアクセスすることができます

Global.thing

または、

import static foo.Global.thing;

でアクセスします

thing
于 2013-03-01T22:15:38.203 に答える