1. ホーム

[解決済み】「静的コンテキストから非静的メソッドを参照できない」理由は何ですか?[重複あり]

2022-03-27 05:22:28

質問

初心者によくある間違いは、そのクラスのインスタンスを作成せずに、クラスのプロパティを "static"で使用しようとした場合です。これは、前述のエラーメッセージを残すことになります。

<ブロッククオート

静的でないメソッドを静的にするか、そのクラスのインスタンスを作成してそのプロパティを使用することができます。

この背景にはどのような理由があるのでしょうか?解決策ではなく、その理由に関心があります。

private java.util.List<String> someMethod(){
    /* Some Code */
    return someList;            
}

public static void main(String[] strArgs){          
     // The following statement causes the error. 
    java.util.List<String> someList = someMethod();         
}

解決方法は?

存在しないものを呼び出すことはできません。 オブジェクトを生成していないので、非静的メソッドはまだ存在しません。 静的メソッドは(定義上)常に存在します。