gpt4 book ai didi

java - 在不实例化子类的情况下在父类(super class)和子类之间进行等效测试

转载 作者:太空宇宙 更新时间:2023-11-04 09:57:44 24 4
gpt4 key购买 nike

只是在玩java基础知识时,我想到了一个问题:是否可以在不实例化两个.class对象的情况下检查它们之间的继承。

例如,如果我有一个 Foo 类,它是 Baa 的子类: Foo a = new Foo(); return a instanceof Baa将返回 true。

但是如果我想用 Foo.class 和 Baa.class 进行等效测试,我该怎么办?我想我可以做这样的事情: Foo.class.newInstance() instanceof Baa.class但是是否可以在不实例化 Foo 的情况下进行相同的测试?

最佳答案

您可以使用Class.isAssignableFrom(Class)检查继承中的层次结构。根据java文档:

Determines if the class or interface represented by this Class object is either the same as, or is a superclass or superinterface of, the class or interface represented by the specified Class parameter.

这不会实例化任何类,您将获得所需的功能。

关于java - 在不实例化子类的情况下在父类(super class)和子类之间进行等效测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53895206/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com