簡體   English   中英

方法參數必須是實現某個接口的某個類的obj

[英]Method parameter must be obj of certain class that implements certain interface

如何聲明一個帶參數的方法,該方法必須同時實現某個接口,而不為此聲明一個特殊的類?
假設我已經聲明了類ImageX並且還聲明了接口Tagging。 所以我需要創建一些其他類或方法,它們只需要接收實現Tagging接口的ImageX實例。 如何申報這種方法? 就像是

private void someMethod (ImageX<Tagging> obj){} 

但這當然不正確。 是的我可以檢查obj是否實現了所需的接口,但我想要檢查參數。 如果它不是某種方法而是構造函數會怎么樣?
我可能會詢問仿制葯嗎?

您可以使方法通用,並且只使用類型交集接受同時屬於ImageX和標記的對象:

private <T extends ImageX & Tagging> void someMethod (T obj){} 

暫無
暫無

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

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