java中判断一个对象是否实现了某个接口 JavaCC++C#J#
程序员文章站
2022-07-12 11:02:51
...
- /***************************************************************************
- *判断对象o实现的所有接口中是否有szInterface
- *2008-08-07修正多继承中判断接口的功能,
- *以及修正接口继承后的判断功能
- *packagetest;
- *
- *publicinterfaceITestextendsSerializable
- *publicclassTest1implementsITest
- *publicclassTest2extendsTest1
- *publicclassTest3extendsTest2
- *
- *isInterface(Test3.class,"java.io.Serializable")=true
- *isInterface(Test3.class,"test.ITest")=true
- *@paramc
- *@paramszInterface
- *@return
- */
- publicbooleanisInterface(Classc,StringszInterface)
- {
- Class[]face=c.getInterfaces();
- for(inti=0,j=face.length;i<j;i++)
- {
- if(face[i].getName().equals(szInterface))
- {
- returntrue;
- }
- else
- {
- Class[]face1=face[i].getInterfaces();
- for(intx=0;x<face1.length;x++)
- {
- if(face1[x].getName().equals(szInterface))
- {
- returntrue;
- }
- elseif(isInterface(face1[x],szInterface))
- {
- returntrue;
- }
- }
- }
- }
- if(null!=c.getSuperclass())
- {
- returnisInterface(c.getSuperclass(),szInterface);
- }
- returnfalse;
- }