2017-12-11 17 views
-3

インスタンス変数が静的関数または静的ブロック内で宣言されている場合、インスタンス変数のメモリ空間が再度作成されるかどうか。Javaで静的関数を使用するインスタンス変数

メイン機能はどうですか? Javaメイン関数では静的です main変数にインスタンス変数を宣言できますか?できれば、コンパイル時またはオブジェクト作成時にのみメモリスペースが割り当てられますか?インスタンス変数は、静的関数または静的 ブロック内で宣言されている場合

+3

コードのサンプルを与えるのに気をつけますか? – rents

+3

インスタンス変数をメソッドの中で宣言することはできません。ローカル変数のみを宣言することはできません(もちろん、ローカルクラスについて話している場合を除きます)。 –

答えて

1

ないようにここで停止 - 何のインスタンスのコンテキストは、このように存在しないとして、あなたは、静的ブロック内のインスタンス変数を宣言することはできません。

static{ 
    this.whatrever=x; 
} 

は無効であり、コンパイルされません。

同じ状況がpublic static mainである - これは静的コンテキストなので、this.xの式はコンパイルされません。

インスタンスのコンテキストから静的変数/メソッドを呼び出すことはできますが、逆もありません。

関連する問題