@634

修飾子の実験

Advertisement

staticメソッド

staticをつけたメソッドをstaticメソッドと呼ぶ。変数と同じでstaticではないメソッドはインスタンスメソッドなどと呼ばれる。

staticメソッドの場合もクラスをインスタンス化しないで使うことができて、クラス名を使ってアクセスすることになる。static変数の時と同じ。
その例。
public class Test{
    public static void main(String args[]){
        stTest.func();
    }
}

class StaticTest{
    static public void func(){
        System.out.println("func()メソッド");
    }
}
出力結果。
func()メソッド。
StaticTestクラスのオブジェクトを作らないで使うことができた。

オブジェクトを複数作った場合、staticのメソッドはひとつのメソッドを共有することになる。オブジェクトをいくつ作っても存在するメソッドはひとつ。
実験のしようがないからプログラムの実行は省略。

注意点。staticメソッドからは、そのクラスのインスタンス変数・インスタンスメソッドを使うことができない。
実験。
public class Test{
    public static void main(String args[]){
        stTest.func();
    }
}

class StaticTest{
    int num = 100;

    static public void func(){
        System.out.println(num);
    }
}
結果
Test.java:11: static でない変数 num を 
       static コンテキストから参照することはできません。

System.out.println(num);
                   ^
エラー 1 個
staticメソッドから使えるのは同じstaticのついた変数とメソッドだけなので注意。

Advertisement

ショートカット

634
このカテゴリのトップページに戻る
634labs
   UIコレクションギャラリー

サイト検索

Google

Web サイト内

Y!ログール