【Java】staticメンバ


Javaについて、復習しながら更新していきます。
今回のテーマはstatic(静的)メンバ!!

staticとは

クラスが持つメンバには、インスタンス化して使用するインスタンスメンバのほかにstaticメンバが存在します。
修飾子としてstaticを付けることで、static変数・staticメソッドとして扱うことができます。staticメンバは、インスタンスと違い、クラスが共有して持つメンバになります。


[呼び出し構文]
static変数・メソッドはインスタンス化しなくても呼び出すことができる。

クラス名.static変数
クラス名.staticメソッド



[クラス内のアクセス方法]
・クラス内で定義したインスタンスメンバは、staticメンバに直接アクセスすることができる。
・クラス内で定義したstaticメンバは、インスタンスメンバに直接アクセスすることができない。


[例]
class Test 
{
	int instanceMen;             //インスタンス変数
	static int staticMen;        //static変数

	//インスタンスメンバへアクセス可能
	int instanceMethod()
	{ 
		return instanceMen; 
	}
	//staticメンバへアクセス可能
	int instanceMethod(int i) 
	{
		return staticMen;
	}
	//staticメンバへアクセス可能
	static int staticmethod()
	{
		return staticMen;
	}
	//インスタンス化しないとインスタンスメンバへアクセスできない
	static int staticmethod(int i)
	{
		Test obj = new Test();  
		return obj.instanceMen;    
	}
}
class Test_exe
{
	public static void main(String[] args)
	{
		//staticメンバ取得
		int i = Test.staticMen; 
		
		//staticメソッドの実行
		Test.staticmethod();
	}
}


以上。




【ブログを始めるなら】

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA