Java 中方法隐藏与方法重写之间的差异是什么?


当父类和子类都包含相同实例方法(包括参数)时,调用时,子类的方法会覆盖父类的方法。

在这个示例中,父类和子类都有签名相同(方法名称和参数)的方法,当我们尝试从子类调用此方法时,子类方法会覆盖父类中的方法并得到执行。

举例

现场演示

class Super{
   public void sample(){
      System.out.println("Method of the Super class");
   }
}
public class MethodOverriding extends Super {
   public void sample(){
      System.out.println("Method of the Sub class");
   }
   public static void main(String args[]){
      MethodOverriding obj = new MethodOverriding();
      obj.sample();
   }
}

输出

Method of the Sub class

当父类和子类都包含相同的方法(包括参数),并且它们都是静态方法时,调用时,子类的方法会隐藏父类的方法。

举例

现场演示

class Super{
   public static void sample(){
      System.out.println("Method of the Super class");
   }
}
public class MethodHiding extends Super {
   public static void sample(){
      System.out.println("Method of the Sub class");
   }
   public static void main(String args[]){
      MethodHiding obj = new MethodHiding();
      obj.sample();
   }
}

输出

Method of the Sub class

更新日期:2019 年 7 月 30 日

2K+ 浏览量

开启 职业生涯

通过完成课程获得证书

开始
广告