static メソッドからインスタンス変数へ直接アクセスはできない。
static メソッドはオブジェクトを作成しなくても実行は出来るがオブジェクトを作成しないとインスタンス変数の領域は確保されないので存在しない領域へのアクセスは出来ない。
またインスタンス変数は個々のオブジェクトにそれぞれ領域が割り当てられるためインスタンス変数名だけではどのオブジェクトのインスタンス変数なのか特定できない。
そのためコンパイルエラーとなる。
こう書かれているのを読むとわかったような気になるが繰り返して覚えてしまおう。
たぶん static メソッドというのがもやもやっとしているからわからないのだろう。
ここを読んでおこう。
http://nobuo-create.net/java-beginner-21/
static とは「静的」という意味。
0 件のコメント:
コメントを投稿