【Java入門】static修飾子の使い方総まとめ

こんにちは!エンジニアの中沢です。

Javaにはクラスをインスタンス化せずに、直接メソッドや変数にアクセスするためのstatic修飾子があります。

この記事では、

・static修飾子とは
・static classの使い方
・staticメソッドの使い方
・static変数の使い方

という基本的な内容から、

・static finalの使い方
・static importの使い方

などの応用的な使い方に関しても解説していきます。

今回はこれらの方法を覚えるために、static修飾子のさまざまな使い方をわかりやすく解説します!

なお、Javaの記事については、こちらにまとめています。

目次

static修飾子とは

static修飾子は主にクラスをインスタンス化せずに、直接メソッドや変数にアクセスするために使用します。

これらのstaticを付けたメソッドを静的メソッド、変数を静的変数と呼びます。

static修飾子にはたくさんの使い方があり、以下のような使い方もあります。
・staticを内部クラスで使う方法
・static finalで定数を使う方法
・static importで外部クラスのstaticメンバの参照を簡略化する使い方

static classの使い方

Javaではstatic classは内部クラス(インナークラス)で使用します。

他の言語では、通常のclassにstatic修飾子を付けることで、インスタンスを生成できない静的クラスを作ることができますが、Javaではそれをやろうとするとコンパイルエラーになりますので注意してください。

内部クラスとは、クラスの中にクラスを定義することです。

内部クラスからは外部クラスの変数などのメンバーにアクセスできるため、外部クラスとの繋がりを明確に表現したいときに使います。

内部クラスにstatic修飾子を付けると、外部クラスのstaticなメンバーのみにアクセスできるようになるため、内部クラスではなく別のクラスと同じように使うことができます。

static内部クラスについての詳しい使い方はこちらで解説しているので、ぜひ確認してください!

staticメソッドの使い方

staticメソッドとは、メソッドにstatic修飾子を付けることで、newを使ってインスタンスを生成せずに呼び出すことができるメソッドのことです。

これにより、メソッドを呼び出すときに毎回インスタンスを生成する必要がなくなるため、簡潔にコードを記述することができるようになります。

staticメソッドについての詳しい使い方はこちらで解説しているので、ぜひ確認してください!

static変数の使い方

static変数とは、変数にstatic修飾子を付けることで、その変数が含まれるクラスをインスタンス化せずに変数にアクセスできるようにしたものです。

static変数はそのクラスから生成されたすべてのインスタンスで共有される値なので、グローバル変数のように使うことができます。

static変数についての詳しい使い方はこちらで解説しているので、ぜひ確認してください!

static finalの使い方

変数の値を変更されたくない場合には、変数に「static final」を付けて値の変更できない定数にすることができます。

staticイニシャライザを使って複数の定数を初期化する方法や、ListMapを定数で使用する方法など、「static final」についての詳しい使い方はこちらで解説しているので、ぜひ確認してください!

static importの使い方

「static import」とは、外部クラスのstaticメンバの参照を簡略化するための機能です。

これにより、メソッドや定数の呼び出しが簡略化され、簡潔なコードで処理を記述できるようになります。

「static import」についての詳しい使い方はこちらで解説しているので、ぜひ確認してください!

まとめ

いかがでしたか?

今回はstaticの使い方について解説しました。

static修飾子を使うとクラスをインスタンス化せずに、直接メソッドや変数にアクセスできるようになり処理が簡潔に記述できるので、ぜひ覚えてくださいね。

もし、static修飾子を使う方法を忘れてしまったらこの記事を確認してください!

この記事を書いた人

フリーランスエンジニア。
システム開発からコンテンツ作成まで幅広く対応します。

連絡先はこちらです。
ntakeshi@sejuku.net

目次