1)
Код: Выделить всё
interface A{};
class B implements A{};
class C implements A{};
ArrayList <A> listOfA =new ArrayList<A>();
listOfA.add(new B());
listOfA.add(new C());
for (int i=0; i<listOfA.size(); i++;){
if (listOfA.get(i) instanceof B){
//работаем с B
} else if (listOfA.get(i) instanceof C){
//работаем с C
}
}
Код: Выделить всё
interface Const {
int ClassBNo=10;
int ClassCNo=11;
public int getClassNo();
};
interface A{};
class B implements A, Const{ public int getClassNo(){ return Const.ClassBNo};};
class C implements A, Const{public int getClassNo(){ return Const.ClassCNo};};
ArrayList <A> listOfA =new ArrayList<A>();
listOfA.add(new B());
listOfA.add(new C());
for (int i=0; i<listOfA.size(); i++;){
int classNo=listOfA.get(i).getClassNo();
if (classNo==Const.ClassBNo){
//работаем с B
}else if(classNo==Const.ClassCNo){
//работаем с C
}
}