LoginSignup
1
0

More than 3 years have passed since last update.

staticについて

Last updated at Posted at 2020-06-21

クラスファイルはロード後、staticな部分とそれ以外に分離され、それぞれ異なるメモリ領域に保存されます。
static.png

staticで修飾されたメンバはstatic領域に配置され、それ以外の定義はmetaspace領域(nativeメモリ)に配置されます。

  • インスタンスが生成される時には、metaspace領域にあるクラス定義に従ってヒープ領域にインスタンスの領域が確保される
  • staticなフィールドはインスタンスを作らなくても使える
  • staticなフィールドにアクセスするには「class名.フィールド名」と記述する。もしくはインスタンスを生成してその参照を使ってアクセスする。
  • staticなメンバはインスタンスがなくても使えるのに対し、staticではないメンバはインスタンスがないと使えない。よって、staticなメソッドからstaticではないメンバにアクセスすることはできない
  • 逆にstaticではないメソッドからstaticなメンバにアクセスすることは可能

参考文献

徹底攻略Java SE11 Silver問題集

1
0
5

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0