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