-2
A
回答
3
使用Class#getInterfaces()運行是這樣的:
確定由類或接口 此對象表示實現的接口。
如果此對象表示一個類,則返回值是一個數組 ,其中包含的對象表示由 類實現的所有接口。數組中接口對象的順序對應於 由此對象表示的類的聲明的implements子句中的接口名稱的順序。例如,給定 聲明:
class Shimmer implements FloorWax, DessertTopping { ... }
假設s的值是微光的實例;所述 表達式的值:
s.getClass().getInterfaces()[0]
是類對象,表示接口FloorWax;和值的 :
s.getClass().getInterfaces()[1]
是表示接口DessertTopping的Class對象。
不過請注意,這種方法不適用於何處,而不是Shimmer
超類實現的接口的情況下返回true,例如如下:
public interface FloorWax { }
public interface DesertTopping { }
public class Shimmer implements implements FloorWax, DessertTopping { }
public class ShimmerChild extends Shimmer {}
public static void main(String[] args) {
// throws ArrayOutOfBoundsException
System.out.println(new ShimmerChild().getClass().getInterfaces()[0]);
}
在一個情況下,你會想要以下要返回界面,請使用@DylanMeeus中所述的方法Class#isAssignableFrom()
6
爲此,您可以使用類似
if(MarkerInterface.class.isAssignableFrom(otherClass.class))
想象一下,您有一個名爲MarkerInterface
的接口和一個OtherClass implements MarkerInterface
類。
你可以在主
if(MarkerInterface.class.isAssignableFrom(OtherClass.class))
{
System.out.println("Otherclass uses the MarkerInterface");
}
相關問題
- 1. 如何確定類型是否實現Powershell中的接口
- 2. 如何使用反射來確定本地類是否實現接口?
- 3. 確定類型實現的接口
- 4. 檢查類是否實現接口
- 5. TypeScript - 檢查類是否實現接口
- 6. 如何確定一類具有實現特定接口或不
- 7. 如何判斷一個類是否是java接口的實現
- 8. 確定一個類的超類是否實現了java中的某個接口
- 9. 確定一個類是否實現了一個非常特定的接口
- 10. 如何確定PDF是否被標記?
- 11. 如何檢查是否一個類實現一個接口
- 12. C#如何檢查一個類是否實現泛型接口?
- 13. 確定一個類是否實現了一個接口而不引用它
- 14. 如何在運行時確定接口成員是否已實現?
- 15. 檢查類是否在ActionScript 3.0中實現特定接口
- 16. 如何檢查Class.forName()是否實現了特定的接口?
- 17. 如何找到一種方法是否實現特定接口
- 18. 如果接口是由類實現的,接口是否會創建對象?
- 19. 標記接口,實現與導入
- 20. 接口是否被認爲是實現它的類的父類?
- 21. 是否有即使父類實現相同的接口實現子類中的接口任何好處
- 22. 是否有任何Smalltalk類接口的實現?
- 23. PHP檢查是否實際類實現接口
- 24. 實現接口的類和接口之間是否有任何關係?
- 25. 擴展已經實現接口的抽象類的類是否需要接口?
- 26. 通過實現一個接口,類是否成爲該接口的「類型」?
- 27. 實現標記窗口
- 28. 繼承類是否自動從其基類實現接口?
- 29. 子類是否導致類停止實現接口?
- 30. 類設計:類實現接口實現另一個接口
爲什麼減去它是一個面試問題,我想澄清一下。是否有意義減號 – suresh
您沒有顯示任何先前研究的跡象。我們的想法是,我們總是幫助你「更進一步」 - 假設你試圖自己完成第一步。在這裏丟掉一個問題「請向我解釋」並不算作「之前的研究」。 – GhostCat
@GhostCat我試圖在谷歌找到解決方案,但我沒有找到任何解決方案,在結束選項留在了stackoverflow社區。 可能是我沒有太多關於這個話題的研究。 – suresh