Ahojte, hraji si generickou ohraničenou třidou. Mám problém v metode zjistiDelku1(). Nedaří se mi v té metodě v objektu info získat přístup k metodě getText(). Kompilator mi nebere ani přetypování objektu. Napadá vás někoho jak na to?
package kapitola21_GenerickeTypy;
class PredekTrida01{ }
class Potomek01Trida extends PredekTrida01 {
... nějaký kód
}
class Potomek02Trida extends PredekTrida01 {
private String text;
protected Potomek02Trida(String text) { this.setText(text); }
public String getText() { return text; }
public void setText(String text) { this.text = text; }
public String toString() { return "text : "+text; }
}
class GenerickaTridaDedicna01<T extends PredekTrida01> {
private T temp;
protected GenerickaTridaDedicna01(T temp){
this.temp=temp; }
protected void zjistiDelku1(GenerickaTridaDedicna01<T> info){
Potomek01Trida temp1;
Potomek02Trida temp2;
if(this.temp instanceof Potomek01Trida) {
/****** ZDE CHCI MIT PRISTUP U OBJEKTU info k metode getText
System.out.println(((Potomek02Trida)info).getText()); // nefunguje
temp2 = (Potomek02Trida) info; // nefunguje
}
}
}
public class R07_ZastupnyParametr {
public static void main(String args []){
GenerickaTridaDedicna01<PredekTrida01> objekt1 = new GenerickaTridaDedicna01<PredekTrida01>(new Potomek01Trida(35));
GenerickaTridaDedicna01<PredekTrida01> objekt2 = new GenerickaTridaDedicna01<PredekTrida01>(new Potomek02Trida("Ahoj jak se má??"));
objekt1.zjistiDelku1(objekt2);
}
}