Java基礎

Javaのstaticの意味と用途『図解で分かりやすく解説』

java-static-image
Java初心者
Javaで「static」っていうのを見るんだけど、これはどういう意味?後、使い方も知りたい。

上記悩みを解決します。

 執筆者

たけ
大手SI企業の現役Javaエンジニアです。OCJ-Pの資格を保有しています。

Javaのstaticの意味と用途

Javaのstaticは「クラス間で共有している情報」の事です。
staticにも色々と種類がありますが、「staticフィールド」「staticメソッド」が主に使われますので、図解しつつ、用途を説明します。

staticフィールド

イメージとしては、下記の通り。各クラスから、1つの共有メモリを指し示す形です。

javastaticイメージ

また、シンプルなプログラム例と結果を確認して下さい。

 プログラム例

 実行結果

上記プログラム例では「Main」クラス内で「staticTest」クラスのインスタンスを2つ作成し、「counter」のフィールドにアクセスしています。
インスタンスを2つ生成していますが、staticで宣言した「counter」フィールドは、初回にカウントアップした値が残っている事を確認出来ます。

staticフィールドの用途

staticフィールドは主に「定数」を作成する際に使用されます。staticで宣言したフィールドは「クラス名.フィールド名」とする事で使用可能です。
使い勝手が良く、定数はどのクラスからでも共通の値として扱われる為です。

実際のプログラムをみてみましょう。

参考定数‥宣言時に決めた値をコードの中で後から変更することができない値

 プログラム

 実行結果

メモ

※「static」のつける位置は「final」の前後どちらでも問題ありません。

staticメソッド

staticメソッドは利用頻度の多いメソッドにstaticを付ける事で、簡易的にアクセスが出来る様になります。Javaの標準で用意されているクラスだとIntegerクラスが有名です。
では、プログラムと実行結果を確認しましょう。

 プログラム

 実行結果

Javaのstaticについては大体理解出来たでしょうか。
それでは、今回の記事のまとめです。

まとめ

・staticフィールドはクラス間で共通の値が使用される。
・staticフィールドは「クラス名.フィールド名」でアクセスが可能
・staticメソッドは「クラス名.メソッド名」でアクセス可能
・staticは利用頻度が多い場合に利用する。

以上になります。

たけ
Javaで挫折しそうだったり、悩んだ場合は気軽にお問い合わせから連絡下さい。良いプログラムが出来た!という報告も待ってます!


人気記事
クラウドコンピュータ
Javaでオススメの資格は「OCJ-P」です【実体験あり】

-Java基礎

Copyright© JavaSkillHacks , 2020 All Rights Reserved.