У меня есть классы Carte
и Croyant
, DeuxEx
являются подклассом Carte
. В Croyant
и DeuxEx
есть атрибуты valueCroyant
или valueDeuxEx
, которые существуют только в каждом классе. Я создаю массив из Object
класса Carte
. Как я могу получить доступ к методу getValueCroyant()
или getValueDeuxEx()
из объекта этого массива.Доступ к функции подкласса из массива объекта суперкласса
Class Carte{
private int id;
public Carte(int id){
this.id=id;
}
}
Class Croyant extends Carte{
private int valueCroyant;
public Croyant(int id){
super(id);
}
public int getValueCroyant(){
return this.valueCroyant;
}
}
Class DeuxEx extends Carte{
private String valueDeuxEx;
public DeuxEx(int id){
super(id);
}
public String getValueDeuxEx(){
return this.ValueDeuxEx;
}
}
public static void main(String[] agrs){
ArrayList<Carte> array_carte = new ArrayList();
Croyant cr1 = new Croyant(1);
Croyant cr2 = new Croyant(2);
DeuxEx de1= new DeuxEx(3);
DeuxEx de2 = new DeuxEx(4);
array_carte.add(cr1);
array_carte.add(cr2);
array_carte.add(de1);
array_carte.add(de2);
for(Carte c:array_carte){
if(c instanceof Croyant){
System.out.println(c.getValueCroyant());
}else{
System.out.println(c.getValueDeuxEx());
}
}
}
Я хочу сделать такой кусок, но это не сработает. Может кто-нибудь мне помочь!
Этот код даже не компилируется. Кроме того, «boucle» вы, вероятно, имеете в виду «петлю». Google и google translate - ваши друзья здесь. – Mena
Какой класс является вашей 'main()' частью здесь, или вы просто пытаетесь выполнить этот код? – nullpointer