1. ホーム
  2. java

[解決済み] これを 静的なコンテキストで this を使用できない

2022-03-06 21:49:13

質問

以下のコードについて、ご教示ください。エラーは以下の通りです。 静的なコンテキストでこれを使用することはできません。

public class Sample2 {
    /**
     * @param args
     */
    public static void main(String[] args) 
    {
        Sample2 sam=new Sample2();  

        //Below code works fine
        System.out.println(sam);

        //Below code is displaying error
        System.out.println(this);
    }
}

解決方法は?

this"キーワードは、メソッドが実行されている現在のオブジェクトを参照します。クラスのインスタンスを使って静的メソッドを呼び出すことはできません。そのため、上記の例でスタティックメソッドに "this" を使用すると、生成されていない現在のインスタンスを表示しようとしてしまうのです。そのため、コンパイル時にエラーが発生するのだと思います。