java的三大特性之一重写

方法的重写:

1、在子类中可以根据需要对从基类中继承来的方法进行重写。

2、重写的方法和被重写的方法必须具有相同方法名称、参数列表和返回类型。(注:返回值可以为父类中返回值的子类型.参数若为子类,则不是重写是重载)

3、重写方法不能使用比被重写的方法更严格的访问权限。

4. 重写方法不能声明抛出比被重写方法范围更大的异常类型。

总结:重写是子类对所继承父类相同方法的一种更改,这个更改需要遵循格式按照父类的格式,访问权限,抛出异常等等,都在父类方法控制范围内,内部具体实现可以实现不同的效果。

 

通俗一点来说:重写就是对父类的的同一个方法的改写,但是别人怎么知道你这是重写,不是添加的新方法?这就要求格式必须跟父类相同,别人一看,呀,他俩长的一模一样(指的上面2,3,4规则),肯定是重新写了,就是重写。

 

father.java

package chongxie;

public class father {
   void eat(){
       System.out.println("父亲吃了");
      
   }
}

son.java

package chongxie;

public class son extends father{
    void eat() {
     System.out.println("儿子吃了");
     
}
}

chongxie.java

package chongxie;

public class chongxie {
   public static void main(String[] args) {
    father father= new father();
    son son = new son();

    father.eat();
    son.eat();
    
}
}

image

这时子类调用的是自己的方法,这就是重写了。

 

下面更改一下子类的方法名

son.java

package chongxie;

public class son extends father{
    void walk() {
     System.out.println("儿子吃了");
     
}
}

在主函数继续调用eat函数

chongxie.java

package chongxie;

public class chongxie {
   public static void main(String[] args) {
    father father= new father();
    son son = new son();

    father.eat();
    son.eat();
    
}
}

image这时结果变了,调用的是父类的方法。

 

 

对于为什么要重写?

重写的话,也能实现代码的多样性。

子类继承了父类之后,调用父类的方法,就不需要重复写,节省代码量。

如果使用条件变更,父类的方法不能满足使用需求,那么你就需要重写方法了,把父类的方法覆盖掉。

 

接下来可以仔细学习一下多态,也能加深对重写的理解

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值