Supponiamo che io abbia le seguenti classiJava Casting con Metodo Chiamate
class A{
public method(A a) {
System.out.println(3);
}
}
class B extends A{
public void method (A a) {
System.out.println(2);
}
public void method (B b) {
System.out.println(1);
}
}
A obj = new B();
obj.method((B) obj);
((B) obj).method((B) obj);
Le prime stampe metodo di chiamata fuori 2, mentre le stampe secondo metodo di chiamata fuori 1. Perché non sia di metodo chiama stampare 1?
Nota che il codice non verrà compilato come è. –