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