Javaキーワード——instance of

2785 ワード

Javaでは、instance ofキーワードを使って、一つのオブジェクトがどのタイプかを判断することができます。
フォーマット:対象instance類はbootleanタイプに戻ります。
サブクラスの実用化の対象は、サブクラスと親タイプの例であり、直接的にサブクラスを宣言しても、親タイプを宣言しても、サブクラスを通じて上にシフトします。
このクラスのオブジェクトを直接に親によって例示すると、サブクラスのインスタンスではないはずです。
//=================================================
// File Name       :	ploy_up_demo
//------------------------------------------------------------------------------
// Author          :	Common

//   :C_1
//   :
//   :
class C_1{												//     C_1
	public void fun1(){							//  fun1()  
		System.out.println("C_1--->public void fun1");
	}
	
	public void fun2(){							//  fun2()  
		this.fun1();
	}
}

//  :D_1
//  :
//  :
class D_1 extends C_1{												//  D_1    C_1
	public void fun1(){
		System.out.println("D_1--->public void fun1");	//      fun1()  
	}
	
	public void fun3(){													
		System.out.println("D_1--->public void fun3");	//        
	}
}

//  :E_1
//  :
//  :
class E_1 extends C_1{												//  E_1    C_1
	public void fun1(){
		System.out.println("E_1--->public void fun1");	//      fun1()  
	}
	
	public void fun5(){													
		System.out.println("E_1--->public void fun3");	//        
	}
}


//  
//Function        : 	      ,      
public class ploy_up_demo {

	public static void main(String[] args) {
		// TODO          
//		D_1 b = new D_1();			//          
//		C_1 a = b;						//      ,         ,       
//		a.fun1();							//         ,  a   ,         fun1()  
		
//		C_1 c = new D_1();			//      ,       ,       
//		D_1 d = (D_1)c;				//            ,         
//		d.fun1();
//		d.fun2();
//		d.fun3();
		
//		fun(new C_1());							//  C_1    ,      
//		fun(new D_1());							//  D_1    ,      
		
		C_1 a = new D_1();						//      
		System.out.println("C_1 a = new D_1():"+(a instanceof C_1));
		System.out.println("C_1 a = new D_1():"+(a instanceof D_1));
		
		C_1 a_1 = new C_1();					//      
		System.out.println("C_1 a = new C_1():"+(a_1 instanceof C_1));
		System.out.println("C_1 a = new C_1():"+(a_1 instanceof D_1));
		
		D_1 a_2 = new D_1();						//      
		System.out.println("D_1 a = new D_1():"+(a_2 instanceof C_1));
		System.out.println("D_1 a = new D_1():"+(a_2 instanceof D_1));
	}
	
	public static void fun(C_1 c){	//      ,             
		c.fun1();
	}
}