Java中的方法重载和方法隐藏有什么区别?


方法隐藏 − 当超类和子类包含相同的方法(包括参数)时,并且它们是静态的,并且在调用时,超类方法被子类方法隐藏,这称为方法隐藏。

示例

在线演示

class Demo{
   public static void demoMethod() {
      System.out.println("method of super class");
   }
}
public class Sample extends Demo{
   public static void demoMethod() {
      System.out.println("method of sub class");
   }
   public static void main(String args[] ){
      Sample.demoMethod();
   }
}

输出

method of sub class

方法重载 − 当一个类包含两个同名函数和不同参数时,在调用时,JVM 根据函数参数执行此方法,这称为方法重载。

示例

在线演示

public class Sample{
   public static void add(int a, int b){
      System.out.println(a+b);
   }
   public static void add(int a, int b, int c){
      System.out.println(a+b+c);
   }
   public static void main(String args[]){
      Sample obj = new Sample();
      obj.add(20, 40);
      obj.add(40, 50, 60);
   }
}

输出

60 
150

更新于: 2019 年 7 月 30 日

887 次浏览

开启您的 职业生涯

完成课程以获得认证

开始
广告