关于java继承中父类方法可见性探讨

先给出一个示例:

 class Person{

      String name=null;    

      Person()   {

          name="jack";

      }

     public Object clone(){

        return new Person();

   }

}

这个person类隐式继承了Object类,并且在类中覆盖了Object类的clone方法,该方法在Object中访问修饰符为protected,

在这里子类提升了父类方法的可见性,这是允许的,若子类将父类的clone访问修饰符改为private是不行的,因为子类不能降低父类方法的可见性。如果子类实现了一个与父类方法具有相同访问修饰符private的同名方法,则这样实现的不是方法的覆盖,因为private修饰的方法只能在类内部来使用,不存在方法调用的不确定性。

你可能感兴趣的:(覆盖,可见性,访问修饰符,Object类)