我上主课
public class Main(){
public static void main(String[] args){
ArrayList<A> as = new ArrayList<>();
C c = new C();
D d = new D();
E e = new E();
as.add(c);
as.add(d);
as.add(e);
for(A a : as){
a.print(); // want to do it conditionally when Object inside list have extended class B
}
}
}
方法print()是从抽象类A扩展的。 C和D类扩展了B类,B类扩展了A类。
A
/ \
B E
/ \
C D
我该怎么做?
尝试:
for(A a : as){
if(a.getClass().getSuperclass().getSimpleName().equals("B")){
a.print(); // Doesn't work a.getClass().getSuperclass().getSimpleName() prints A
}
}
实现这一目标有什么秘诀?
答案 0 :(得分:7)