您的位置:首页 > 其它

判断类是否实现了某个接口 和 是否继承了某个类

2010-12-07 11:08 162 查看
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 即可
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐