java重写 overriding

overriding主要出现在如下两种情况:

(1)对接口方法的实现,在接口中一般只是对方法进行了声明,而我们在实现时,就需要实现接口声明的所有方法。

(2)在继承中也可能会出现子类覆盖父类中的方法。

重写要注意以下的几点:

(1)覆盖的方法的标志必须要和被覆盖的方法的标志完全匹配,才能达到覆盖的效果;
(2)覆盖的方法的返回值必须和被覆盖的方法的返回一致;
(3)覆盖的方法所抛出的异常必须和被覆盖方法的所抛出的异常一致,或者是其子类;
(4)被覆盖的方法不能为private,否则在其子类中只是新定义了一个方法,并没有对其进行覆盖。
举例如下:
 class A {    
     public A(){    
 }    
 public void fa() {    
     System.out.println("CLASS A :Function fa Runing......");    
 }    
   
 public void fb() {    
    System.out.println("CLASS A :Function fb Runing......");    
    fa();    
    System.out.println("CLASS A :Function fb Stop......");    
 }    
}    

class B extends A {    
 public B(){    
 }    
 public void fa() {    // 重写 A类的  fa  方法
    System.out.println("CLASS B :Function fa Runing......");    
 }    
 public void fb() {     // 重写 A类的  fb  方法
    System.out.println("CLASS B :Function fb Runing......");    
    super.fb();    
    System.out.println("CLASS B :Function fb Stop......");    
  }    
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值