如何解决确保对象在Java中从另一个继承
| 我怎么知道一个对象是否继承自另一个对象? 假设我有一个抽象类A。如何知道对象是否是从A继承的类的实例?boolean inherited = false;
for (Class c : instance.getClasses()) {
if (c == A.class) {
inherited = true;
break;
}
}
这样行吗?对于我要完成的工作,似乎有些沉重。
解决方法
instanceof
在这种情况下应该可以正常工作,但是它确实引出了一个问题,即如果可能存在一个更好的面向对象的更好的OOP解决方案,为什么要尝试以这种方式进行操作。
, “ѭ1”抽象类也必须是“ѭ1”某种类,用于扩展该抽象类。您不能实例化抽象类,但是可以实例化扩展它的类的对象。
可能还有助于了解您创建的任何对象都是“ 4”。这是因为“ 5”位于实例化类的子类关系层次结构的顶部。
, 如果您确实要检查继承:
ClassUtils.getAllSuperclasses(c.getClass()).contains(A.class);
ClassUtils
是来自Apache Commons Lang的实用程序类。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。