我有这个对象,它是超类的一个实例。我想知道该对象究竟是哪个子类,以便我可以决定如何处理它。有这个getClass()方法,但它显然不用于比较问题。如何获取对象的子类型?
答案 0 :(得分:1)
Class c =(你的超类名).getClass();
if(c.getName ==“你的子类名”) 采取行动
答案 1 :(得分:1)
如果您尝试执行此操作,可能会遇到设计缺陷,但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");
}
}
}