2010-07-21 23 views
0

如果我有一些類型聲明,如:測試基準類類型在編譯時

JCheckBoxMenuItem t1; 
JRadioButtonMenuItem t2; 

然後像我

addItem(JMenuItem i) 
{ 
} 

可以知道,如果iJCheckBoxMenuItem方法或JRadioButtonMenuItem型無當我用addItem(t1)addItem(t2)調用它們時,它們的實例有 ???

+0

爲什麼你想避免的實例? – 2010-07-21 12:17:44

+0

你是說't1'或't2'是'null',並且你想在'addItem'中檢查'i'的類型是?這是不可能的,因爲'null'不屬於某個類型。 – 2010-07-21 12:25:14

回答

0

那麼,你總是可以打電話t1.getClass(),哪個會給你輸入對象的有效類。

+0

與'instanceof'沒有太大區別# – Bozho 2010-07-21 12:19:15

+0

你不能使用getClass和instanceOf因爲t1和t2沒有引用一個對象,我想在檢查運行時檢查編譯時間 – xdevel2000 2010-07-21 12:57:08

1

如果您需要基於對象類型的不同行爲,請不要使用相同的方法。製作不同的方法,接受不同的參數類型。