重写(__覆盖)

来源:互联网 发布:淘宝商城天天特卖 编辑:程序博客网 时间:2024/05/04 06:48

   (1) 父类与子类之间的多态性,对父类的函数进行重新定义。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。在Java中,子类可继承父类中的方法,而不需要重新编写相同的方法。

但有时子类并不想原封不 动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。

方法重写又称方法覆盖。


    (2)若子类中的方法与父类中的某一方法具有相同的方法名、返回类型和参数表,则新方法将覆盖原有的方法。

如需父类中原有的方法,可使用super关键字,该关键字引用了当前类的父类。


package cn.Inherit1;

class Father{
  public void fun1(){
 fun2();
  }
  public void fun2(){
  System.out.println("父类的FUN2");
  }
}
class Child extends Father{
public void fun1(){
  super.fun2();
}
public void fun2(){
System.out.println("儿子的fun2");
//super.fun2();
}
}
public class Test {
public static void main(String[] args) {
Father child=new Child();
child.fun1();
}

}打印结果是:儿子的FUN2

上面虽然是Father 的引用类型,但是实例化的是二子的实例。

0 0
原创粉丝点击