【发布时间】:2010-03-11 19:27:29
【问题描述】:
我有这个对象,它是超类的一个实例。我想知道该对象到底是哪个子类,以便我可以决定如何处理它。有这个 getClass() 方法,但它显然不用于比较问题。如何获取对象的子类型?
【问题讨论】:
-
对象不能是子类。对象可以是类的实例。
标签: java superclass gettype
我有这个对象,它是超类的一个实例。我想知道该对象到底是哪个子类,以便我可以决定如何处理它。有这个 getClass() 方法,但它显然不用于比较问题。如何获取对象的子类型?
【问题讨论】:
标签: java superclass gettype
如果您尝试这样做,则可能存在设计缺陷,但instanceof。
public class MainClass {
public static void main(String[] a) {
String s = "Hello";
if (s instanceof java.lang.String) {
System.out.println("is a String");
}
}
}
【讨论】:
Class c = (你的超类名).getClass();
if(c.getName == "你的子类名") 采取行动
【讨论】: