Даны два класса:

package pak1;
import pak2.B;
public class A {
	void doAThings() {
		System.out.print("A ");
	}
	
	public static void main(String[] args) {
		A a = new B();
		a.doAThings();
	}
}
и

package pak2;
import pak1.A;
public class B extends A {
	public void doAThings() {
		System.out.println("I'm B ;)");
	}
}
Что произойдет при попытке компиляции обоих классов и запуска main-метода?
Explanation
Метод doAThings не наследуется классом В, т.к. В находятся в другом пакете, а модификатор доступа у doAThings отсутствует. Поэтому полиморфный вызов doAThings не произойдет. Вызовется метод doAThings класса А.

Follow CodeGalaxy

Mobile Beta

Get it on Google Play
Send Feedback
Keep exploring
Java quizzes
Cosmo
Sign Up Now
or Subscribe for future quizzes