Override method

11. января 2017 JAVA 0

Пример переопределения метода.

package pro.bolshakov;

public class Test1 {

    public static class A{
        private void test(){
            System.out.println("test A");
        }
    }

    public static class B extends A{
        protected void test(){
            System.out.println("test B");
        }
    }

    public static class C extends B{
        public void test(){
            System.out.println("test C");
        }
    }

    public static void main(String[] args) {

        A a_a = new A();
        a_a.test();

        A a_b = new B();
        a_b.test();

        A a_c = new C();
        a_c.test();

        B b_b = new B();
        b_b.test();

        B b_c = new C();
        b_c.test();

        C c_c = new C();
        c_c.test();

    }

}

Видимость метода можно только расширять.

Private можно увидеть только внутри, можно сказать, что пример некорректен с классом A. Но сделано для демонстрации.

Результат вывода:

test A (A = A)
test A (A = B)
test A (A = C)
test B (B = B)
test C (B = C)
test C (C = C)