Upcast e downcast delle classi in Java
package vale.io;
public class Prova {
public Prova() {
M m = new N();
//N n = new N();
//M m=n;
m.f1();
((N)m).f2(); //devo fare il casting altrimenti cerca in M se c’è f2()
}
public static void main(String[] args) {
new Prova();
}
}
class M {
void f1() {
System.out.println(“f1_di_M”);
}
}
class N extends M{
//se sovrascrivo la classe allora c’è dynamic binding
//altrimenti stampa “f1″
void f1() {
System.out.println(“f1_di_N”); }
void f2() {
System.out.println(“f2″);
}
}
Loading ...