PHASE2 LOG

主にIT関連・ゲームのログ

Javaのお勉強~Objectクラスとinstanceof~

      2016/03/12

 

Objectクラスについてと、クラスとオブジェクトの関係を調べる方法についてお勉強していきます。

 

Objectクラスとは

 

Objectクラスとはすべてのクラスのスーパクラスです。

Objectクラスのメソッドは、どのクラスでも使用することができます。

 

どういう時に利用するのかが不明なのでここはもっと勉強します。

 

クラスとオブジェクトの関係を調べる

 

クラスとオブジェクトの関係を調べるには「instanceof」を使用します。

この「instanceof」は指定したクラス(またはインタフェース)のオブジェクトかどうかを調べる演算子です。

 

以下のような形式で記述します。

boolean 変数名 = オブジェクト名 instanceof クラス名;

 

実際の例がこちらです。

 

//インタフェース
interface Weapon{
	void Attack();
}

//インタフェースの実装
class Tati implements Weapon{	
	public void Attack() {
		System.out.println("斬る");
	}
}

//クラス
class Bow {
	void Attack() {
		System.out.println("射る");
	}
}

public class Instance {
	public static void main(String[] args){
		Tati tati = new Tati();
		Bow bow = new Bow();
		
		//tatiはWeaponインタフェースの実装か?
		if(tati instanceof Weapon){
			//trueなら斬る
			tati.Attack();
		}
		//bowはWeaponインタフェースの実装か?
		if(bow instanceof Weapon){
			//trueなら射る
			bow.Attack();
		}
	}
}

 

調べた結果はtrueかfalseの真理値で返します。

tatiオブジェクトはWeaponインタフェースを実装しているのでtrueになります。

bowオブジェクトはWeaponインタフェースを実装していないのでfalseになります。

 

 

こういうのを知ると実際に現場で使ったりしてるのかな~なんて想像したりしますね(´∀`)

 

 

人気ブログランキング

 -