Dobrý den, učím se Javu a jen mě tak napadlo tohle..
package tmp;
class Clovek {
@Override
public String toString () {
return "Člověk";
}
}
class Vzv extends Clovek {
@Override
public String toString () {
return "VZV";
}
}
public class Tmp {
/**
* @param args
*/
static Vzv elevate (Clovek c) {
Vzv vzv = new Vzv();
return vzv;
}
static void vypis(Vzv v){
System.out.println("The type of the object is: " + v.getClass().getName());
System.out.println ("Hello America");
}
static void vypis(Clovek c) {
System.out.println("The type of the object is: " + c.getClass().getName());
System.out.println (c);
}
public static void main(String[] args) {
Clovek a = new Clovek();
vypis (a);
a = elevate (a);
vypis(a);
}
}
Výstup:
The type of the object is: tmp.Clovek
Člověk
The type of the object is: tmp.Vzv
VZV <- Proč tu není hello america