1

私は内部クラスを持つクラスに取り組んでいます

私のコード:

package com.solignis;
public class Config {
    public static final Target target;
    class Target {
        public void create(String targetName) {    
            System.out.println("Created" + targetName);   
        }

        public void destroy(String targetName) {    
            System.out.println("Destroyed" + targetName);    
        }
    }    
}

IntelliJ はサブクラスに問題はありませんが、静的変数を初期化していないと不平を言い続けますtarget。しかしnull、null ポインター例外を取得するようなもので初期化しようとすると (驚くことではありません!)、変数を初期化できるものはありません。 Example スーパークラス (これは正しいですか?)。また、コンストラクターがないため、変数を初期化するためにTarget宣言することはできませんnewtarget

それで、私は何ができるでしょうか?

これについての私の理解が間違っている場合は、訂正してください。私はまだ Java のより「深い」仕組みについて頭を悩ませようとしています。

4

2 に答える 2

1

実際、コンストラクターを宣言していないクラスを初期化できます。それには、引数のないデフォルトのコンストラクターがあります

    test = new Test();
于 2013-05-25T07:40:31.550 に答える