我有主课
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
}
}
任何提示来实现这一目标?
Cats萌萌
相关分类