0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

[java] staticを使う理由

Posted at

javaを使っていてstaticとかどうやって使い分けるのかあいまいだったので、それを調査した。

static

メソッドやメンバ変数にstatic修飾子を付けると、staticメソッド、static変数になります。
static修飾子を付けると何が変わるかというと、newしなくてもそのメソッドやメンバ変数にアクセスできるようになります。

つまり共通のメソッドや変数をクラス間で共有したい場合に使うということ。以前Applicationクラスを通してデータをやり取りするという記事を書いたが、それと同じである。
https://qiita.com/QiitaD/items/549fb2143b2774c30d72

(それにしてもstaticおじさんはさすがに笑った…)

ほかにも「インスタンス化しなくても利用できるから」というものがある。Utilityクラスなどは、メソッド単体で処理が完結している、つまりクラスを定義した時点で用途が確定しているので、インスタンス化が必要ないということらしい。その場合はstaticもする。
https://teratail.com/questions/13203

感想

staticについてはわかったが、publicやfinal等まだわかっていない。
publicとprivateは言わずもがなオブジェクト指向設計の観点から使い分けるのだろう。
しかしprotectedやデフォルトがなぜ存在しているのかわからない(アクセスに違いがあるのはわかるが)ので、それも調べてみたい。

0
1
0

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
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?