方法覆写是从private变为default算是方法覆写吗?

class Father{
    private void print() {
        System.out.println("father");
    }
    public void fun() {
        this.print();                                            //2:如果子类复写了print()方法,那么会调用子类复写过后方法,但此时子类并没有复写该方法,那么会调用父类自身的print()方法
    }
}
class Son extends Father{
    void print() {
        System.out.println("son");
    }
}
public class Test{
    public static void main(String[] args) {
        new Son().fun();                                        //1:子类找不到fun方法,会继续从父类查找该方法
    }
}

输出结果:father

不算方法覆写

猜你喜欢

转载自blog.csdn.net/qq_36750352/article/details/85170773