java中判断一个对象是否实现了某个接口

  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. }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值