package interfacesabout;
import java.util.AbstractCollection;
public class JudgeInterface {
//2010-12-07
public boolean isInterface(Class<?> clas,String interfaceName){
boolean flag = false;
if(clas == null){
return flag;
}
Class<?>[] face = clas.getInterfaces();
for(Class<?> org : face){
if(org.getName().equals(interfaceName)){
flag = true;
break;
}else{
flag = isInterfaces(org.getInterfaces(),interfaceName);
}
}
return flag;
}
public boolean isInterfaces(Class<?>[] clas,String interfaceName){
boolean flag = false;
if(clas == null){
return flag;
}
for(Class<?> org : clas){
if(org.getName().equals(interfaceName)){
flag = true;
break;
}else{
flag = isInterfaces(org.getInterfaces(),interfaceName);
}
}
return flag;
}
public boolean isInstanceof(Class<?> clas,Class<?> clasExtend){
boolean flag = false;
if(clas == null || clasExtend == null){
return flag;
}
Class<?> org = clas.getSuperclass();
if(org == null){
return flag;
}else if(org.getName().equals(clasExtend.getName())){
flag = true;
}else{
flag = isInstanceof(org,clasExtend);
}
return flag;
}
public static void main(String[] args) {
JudgeInterface judgeInterface = new JudgeInterface();
//boolean flag = judgeInterface.isInterface(DrawHouseClass.class,"interfacesabout.Draw");
//System.out.println(flag);
boolean flag = judgeInterface.isInstanceof(DrawHouseClass.class,AbstractCollection.class);
System.out.println(flag);
}
}
//附件 只需要更改为 .rar 即可
判断类是否实现了某个接口 和 是否继承了某个类
最新推荐文章于 2022-05-27 09:49:00 发布