Wywoływanie metody przeciążonej za pomoca referencji do obiektu klasy pochodnej

0

Witam,

Czy istnieje możliwość wywołania przyslonietej metody (override) za pomocą referencji do obiektu klasy pochodnej?

Przykład o co mi chodzi:

class A{
	void metoda(){
		System.out.println("metoda z A");
	}
}

class B extends A{
	void metoda(){
		System.out.println("metoda z B");
	}
}

/***/
public static void main(String[] args) {
	B b = new b();
	//b.metoda(); jakieś magiczne odwołanie do metody "metoda" z klasy A
}

dodanie znacznika <code class="java"> - fp

0

Nie wiem czy coś takiego Cię satysfakcjonuje, ale działa.

class A{
        void metoda(){
                System.out.println("metoda z A");
        }
}
 
class B extends A{
        void metoda(){
                System.out.println("metoda z B");
        }
        
        void metoda1() {
        	super.metoda();
        }
}

public class Glowna {

	public static void main(String[] args) {
		 B b = new B();
		 b.metoda1();
	}
	
}
 
1

Nie da się, gdyż wszystkie metody w JAVIE są wirtualne, tzn. że typ obiektu decyduje jaka metoda będzie wywołana, a nie typ zmiennej, która odnosi się do danego obiektu.

1 użytkowników online, w tym zalogowanych: 0, gości: 1