java - 检查Java中对象的子类

标签 java class subclass instanceof

考虑类 MinorClassAMinorClassB ,都延伸MajorClass 。我有一个对象 MajorClass我确信它实际上是其子类之一的实例。

MinorClassA subclassedObj = new MinorClassA();
MajorClass obj = subclassedObj;

//------ More code -------------

if( subclassof(obj) == MinorClassA) //Something like this

如何找出该对象的子类是什么?我无权访问 subclassedObj ,仅限obj .

编辑澄清:我知道如何检查是否 MinorClassAMajorClass 的实例,但反之则不然。

最佳答案

听起来你想要 instanceof operator:

At run time, the result of the instanceof operator is true if the value of the RelationalExpression is not null and the reference could be cast to the ReferenceType without raising a ClassCastException. Otherwise the result is false.

所以在你的情况下:

if (obj instanceof MinorClassA) {
    ...
}

关于java - 检查Java中对象的子类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36620277/

相关文章:

java - 我怎样才能 "erase"我在 Java Graphics2D Canvas 上绘制的东西而不删除它后面的东西?

java - 无限循环停止应用程序响应。该怎么办?

C++私有(private)嵌套类——访问不同的函数

ios - 为 UIView 创建子类以实现可重用性

python - 向父类中的函数添加条件更好,还是为每个子类定义单独的函数更好?

java - 如何使用 JavaFX 桌面应用程序包请求 UAC 管理权限?

java.sql.sqlexpcetion :ORA-00917:missing comma

c++ - 错误 : no member function declared in class

c++ - 有没有办法调用模板参数类的未知方法?

c++子类作为方法的参数