I find out correct solution but... someone could explain me why if I call (this.method1())
public void method2() {
System.out.println("klasa A, metoda2");
this.method1();
}
and A.method1() is private then is called, otherside if A.method1() is publlic then C.method1() is called?
I'm confused 🙃
public static class A {
private void method1() {
System.out.println("klasa A, metoda1");
}
public void method2() {
System.out.println("klasa A, metoda2");
this.method1();
}
}
public static class B extends A {
public void method1() {
super.method2();
System.out.println("klasa B, metoda1");
}
public void method2() {
System.out.println("klasa B, metoda2");
}
}
public static class C extends B {
public void method1() {
System.out.println("klasa C, metoda1");
}
public void method2() {
System.out.println("klasa C, metoda2");
super.method1();
}
}