Java中何时发生方法覆盖?

如果子类具有与父类中声明的方法相同的方法,则Java中会发生方法重写。子类中的方法与父类中的方法具有相同的名称和参数。方法覆盖在运行时多态中很有用。

演示此过程的程序如下:

示例

class A {
   int a;
   A(int x) {
      a = x;
   }
   void print() {
      System.out.println("Value of a: " + a);
   }
}
class B extends A {
   int b;
   B(int x, int y) {
      super(x);
      b = y;
   }
   void print() {
      System.out.println("Value of b: " + b);
   }
}
public class Demo {
   public static void main(String args[]) {
      B obj = new B(4, 9);
      obj.print();
   }
}

输出结果

Value of b: 9