2017-01-19 67 views
0

你好老鄉程序員,鑄造(?)已知超對象一個未知的子類參考

我現在工作的一個Java項目,我想投一個已知的超一個未知的子類。

下面的代碼:

public void getShirtType(Person person) { 

    Clothing article; // Clothing is a superclass of different subclasses of Clothing 

    for(Clothing clothing : person.getClothing()) { // person.getClothing() returns List<Clothing> 

     if(clothing.hasSleeves()) { // hasSleeves() is boolean 

      article = ???; 
      break; 

     } 

    } 
} 

這段代碼獲得服裝的帶袖的文章的第一個實例,然後結束循環。

我不知道要在問號的位置放什麼。通常情況下,我可能只有像article = (SleevedShirt) clothing;這樣的東西,但除了SleevedShirt之外,還有各種不同的子類可以放在括號內。

讓我知道你在想什麼。

此外,我主要是一個初學者,所以如果你願意提供它,我不會介意與我的代碼有關的建設性交錯。

+1

'article = clothing;'因爲'article'也是''Clothing'類型?不需要演員。 – Andreas

+0

就這麼簡單?好吧,我會嘗試。謝謝。 –

回答

0

無需投給(SleevedShirt)作爲

article = clothing; 

應該足夠了。

+0

感謝您的信息。 –