Object類是所有類的直接父類或間接父類,也就是說是所有類的根父類,這個可以運用於參數的傳遞
如下:
public class Start { public static void main(String[] args) { A a=new A(); B b=new B(); C c=new C(); D d=new D(); speak(a); speak(b); speak(c); speak(d); } // instanceof 關鍵字是用於比較類與類是否相同,相同返回true,不同返回false //當你不清楚你需要的參數是什么類型的,可以用Object來代替,Object可以代替任何類 static void speak(Object obj) { if(obj instanceof A)//意思是:如果參數是 A 類,那么就執行一下語句 { A aobj=(A)obj;//這里是向下轉換,需要強制轉換 aobj.axx(); } else if(obj instanceof B) { B bobj=(B)obj; bobj.bxx(); } else if(obj instanceof C) { C cobj=(C)obj; cobj.cxx(); } } } //這里舉了四個類,他們的函數都不同,但都是 Object 類的子類 class A { void axx() { System.out.println("Good morning!"); System.out.println("This is A"); } } class B { void bxx() { System.out.println("Holle!"); System.out.println("This is B"); } } class C { void cxx() { System.out.println("Look!"); System.out.println("This is C"); } } class D { void dxx() { System.out.println("Oh!Bad!"); System.out.println("This is D"); } }
運行結果:
Good morning! This is A Holle! This is B Look! This is C