• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
火磷
Memory will fade,but not notes.
博客园    首页    新随笔    联系   管理    订阅  订阅
Java 方法的重写

方法重写规则:

1.子类要重写的方法与父类方法具有完全相同的返回类型+方法名称+参数列表;

2.子类要重写的方法的访问权限大于或者等于父类方法的访问权限;

3.子类要重写的方法不能抛出比父类方法更大的异常;

circle.class

 1 public class Circle {  
 2 
 3            protected double radius;    
 4 
 5     public Circle(double r) {  
 6              radius=r;
 7     }
 8 
 9     public void setr(double radius){  
10              this.radius=radius;
11      }    
12 
13      public double getr(){
14              return radius;
15      }    
16 
17      public double getarea() {
18              return 3.14*radius*radius;
19      }
20 }

Cylinder.calss

public class Cylinder extends Circle {  

          private double length;    

    public Cylinder() {   
         super(1);                   
         length=1;  
     }

    public void setl(double length){  
          this.length=length;
     }    

     public double getl(){
           return length;  
      }    

        //子类方法对父类getarea方法的重写,获取圆柱表面积    

      public double getarea() {  
            return super.getarea()*2+radius*2*3.14*length;      //在父类中,radius是protected属性,可在子类中直接调用;如果属性为private,则通过getr()获取
      }        

      public double getv(){  
             return super.getarea()*length;   //在子类的方法中使用super.被重写的父类方法对该方法进行调用  
     } 
}

 

posted on 2015-07-27 11:42  火磷  阅读(552)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3