Java中如果父类方法使用private定义,子类使用public 覆写,是否正确?

  看以下代码:父类使用private定义的方法,子类使用public覆写:

class Father{
    public void fun(){
        this.print();
    }
    //如果现在父类使用了private定义,那么就表示该方法只能被父类使用,子类无法使用,换句话说,子类是不知道父类有这样的方法的。
    private void print(){
        System.out.println("Father类的print方法");
    }
}
class Son extends Father{
    //这个时候该方法只是子类新定义的新方法而已,和父类的方法没有任何关系。
    public void print(){
        System.out.println("Son类的print方法");
    }
}
public class Day8{
    public static void main(String[] args){
        new Son().fun();
    }
}

运行结果如下:

所以说在子类中定义的print()方法和父类没有任何关系,只是子类中新定义的一个方法。不存在覆写。

你可能感兴趣的:(数据结构)