簡體   English   中英

將子類對象傳遞給具有超類參數的方法時會發生什么?

[英]What happens when a subclass object is passed to a method with a superclass parameter?

我試圖將子類對象傳遞給具有超類參數的方法,因此我只需要使該方法之一。 我有條件語句,例如“ if(subclassObject instanceOf SpecificSubClass)”,因此它可以判斷對象來自哪個子類。

問題是,一旦將對象傳遞給參數,程序似乎只能將其識別為超類對象。 然后,我不能將其添加到ArrayList<CertainSubClass>類型的ArrayList<CertainSubClass>

將子類對象傳遞給帶有超類參數的方法時,到底發生了什么? 我該如何解決這個問題? 我不想為我擁有的3個子類制作3種方法。 謝謝

“我不想為我擁有的3個子類使用3種方法。”

但是,如果你的過程是每個案例不同的(和你的instanceof檢查將使它如此),那么你 3種不同的方法,在語義上。 僅為了保存一些方法聲明而將它們捆綁在一個方法中是一個糟糕的主意。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM