静的メソッドと静的クラス
静的メソッド
クラスをインスタンス化しなくてもお手軽に呼び出せるので、ユーティリティ的なメソッドを書いたりします。
静的クラスではない、通常のクラス内に記述できます。
(同じクラス内には通常のインスタンスメソッドも記述でき、こちらはクラスをインスタンス化してから呼び出します。)
// staticではない通常のクラス
public class ClassSample
{
public static void Method_A() // 静的メソッド --> インスタンス化せずに呼び出せる
{
// 処理を実装
}
public void Method_B() // インスタンスメソッド --> インスタンス化してから呼び出す
{
// 処理を実装
}
}
静的クラス
クラスのメンバ(フィールドやメソッド)はすべて static にしなければなりません。static キーワードを忘れると下記のように怒られます。
また静的クラスはインスタンス化することが出来ません。
// staticクラス
public static class ClassSample
{
public static void Method_A() // 静的メソッド --> インスタンス化せずに呼び出せる
{
// 処理を実装
}
// 「静的クラスでインスタンスのメンバーを宣言することはできません」と怒られます。
public void Method_B()
{
// 処理を実装
}
}