欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java中判断一个对象是否实现了某个接口 JavaCC++C#J# 

程序员文章站 2022-07-12 11:02:51
...
  1. /***************************************************************************
  2. *判断对象o实现的所有接口中是否有szInterface
  3. *2008-08-07修正多继承中判断接口的功能,
  4. *以及修正接口继承后的判断功能
  5. *packagetest;
  6. *
  7. *publicinterfaceITestextendsSerializable
  8. *publicclassTest1implementsITest
  9. *publicclassTest2extendsTest1
  10. *publicclassTest3extendsTest2
  11. *
  12. *isInterface(Test3.class,"java.io.Serializable")=true
  13. *isInterface(Test3.class,"test.ITest")=true
  14. *@paramc
  15. *@paramszInterface
  16. *@return
  17. */
  18. publicbooleanisInterface(Classc,StringszInterface)
  19. {
  20. Class[]face=c.getInterfaces();
  21. for(inti=0,j=face.length;i<j;i++)
  22. {
  23. if(face[i].getName().equals(szInterface))
  24. {
  25. returntrue;
  26. }
  27. else
  28. {
  29. Class[]face1=face[i].getInterfaces();
  30. for(intx=0;x<face1.length;x++)
  31. {
  32. if(face1[x].getName().equals(szInterface))
  33. {
  34. returntrue;
  35. }
  36. elseif(isInterface(face1[x],szInterface))
  37. {
  38. returntrue;
  39. }
  40. }
  41. }
  42. }
  43. if(null!=c.getSuperclass())
  44. {
  45. returnisInterface(c.getSuperclass(),szInterface);
  46. }
  47. returnfalse;
  48. }