检查一个类是否扩展了另一个类的Java方法?
是否有任何方法可以检查一个类是否扩展了另一个类? 上面的代码是一段代码检查一个类是否扩展了另一个类的Java方法?,java,extends,Java,Extends,是否有任何方法可以检查一个类是否扩展了另一个类? 上面的代码是一段代码 File[] fileList = file.listFiles(); if(fileList != null){ for(int i = 0; i < fileList.length; ++i){ ClassName = fileList[i].getName(); if (fileList[i].isFile
File[] fileList = file.listFiles();
if(fileList != null){
for(int i = 0; i < fileList.length; ++i){
ClassName = fileList[i].getName();
if (fileList[i].isFile() && (Class Extends Class2) && ClassName.endsWith(".class")){
String ClassName1 = ClassName.split("\\.")[0];
if (!ClassName1.contains("$")){
if (packages != null){
<Snippet>
}
}
}
}
}
File[]fileList=File.listFiles();
如果(文件列表!=null){
对于(int i=0;i
假设您有A
和B
类。要确定A是否扩展B,可以使用instanceof
操作符测试A
的实例。这就足够了:
if((new A()) instanceof B)
return true;
假设您有类
A
和B
。要确定A是否扩展B,可以使用instanceof
操作符测试A
的实例。这就足够了:
if((new A()) instanceof B)
return true;
我现在觉得有点傻。。尽管我经常使用instanceof,但我从未想过这一点。无论如何多亏了很多人,这种方法的前提是
a
始终有一个默认构造函数,如果存在这样一个构造函数,它将不会执行耗时、占用内存或破坏性的操作。:)请参阅,谢谢您的链接isAssignableFrom
是一种更好的方法。但这是我第一眼看到这个问题时的想法。例如,我给出了默认构造函数。OP应该使用类似于newA(null,null,0,“”)
等的东西。你也可以使用A.class.isAssignableFrom来避免实例化该类。我现在觉得有点愚蠢。。尽管我经常使用instanceof,但我从未想过这一点。无论如何多亏了很多人,这种方法的前提是a
始终有一个默认构造函数,如果存在这样一个构造函数,它将不会执行耗时、占用内存或破坏性的操作。:)请参阅,谢谢您的链接isAssignableFrom
是一种更好的方法。但这是我第一眼看到这个问题时的想法。例如,我给出了默认构造函数。OP应该使用类似于newA(null,null,0,“”)
等的东西。您还可以使用A.class.isAssignableFrom来避免实例化该类。