zoukankan      html  css  js  c++  java
  • java 子类继承父类成员变量的隐藏、实现方法的重写

      成员变量的隐藏和方法的重写

    Goods.java

    public class Goods {
        public double weight;
        public void oldSetWeight(double w) {
           weight=w;
           System.out.println("double型的weight="+weight);
        }
        public double oldGetPrice() {
            double price = weight*10;
            return price;
        }
    }

    CheapGoods.java

    public class CheapGoods extends Goods {
        public int weight;
        public void newSetWeight(int w) {
           weight=w;
           System.out.println("int型的weight="+weight);
        }
        public double newGetPrice() {
            double price = weight*10;
            return price;
        }
    }

    Example5_3.java

    public class Example5_3 {
      public static void main(String args[]) {
         CheapGoods cheapGoods=new CheapGoods();
         //cheapGoods.weight=198.98; 是非法的,因为子类对象的weight已经是int型
         cheapGoods.newSetWeight(198);
         System.out.println("对象cheapGoods的weight的值是:"+cheapGoods.weight);
         System.out.println("cheapGoods用子类新增的优惠方法计算价格:"+
                             cheapGoods.newGetPrice());
         cheapGoods.oldSetWeight(198.987); //子类对象调用继承的方法操作隐藏的double型变量weight
         System.out.println("cheapGoods使用继承的方法(无优惠)计算价格:"+
                              cheapGoods.oldGetPrice());
      }  
    }

    子类对继承父类方法的重写

    University.java

    public class University {
        void enterRule(double math,double english,double chinese) {
            double total=math+english+chinese;
            if(total>=180) 
               System.out.println("考分"+total+"达到大学最低录取线");
            else
               System.out.println("考分"+total+"未达到大学最低录取线");
        }
    }

    ImportantUniversity.java

    public class ImportantUniversity extends University{
        void enterRule(double math,double english,double chinese) {
            double total=math+english+chinese;
            if(total>=220)  
               System.out.println("考分"+total+"达到重点大学录取线");
            else
               System.out.println("考分"+total+"未达到重点大学录取线");
        }
    }

    Example5_4.java

    public class Example5_4 {
        public static void main(String args[]) {
           double math=64,english=76.5,chinese=66;
           ImportantUniversity univer = new  ImportantUniversity();
           univer.enterRule(math,english,chinese); //调用重写的方法
           math=89;
           english=80;
           chinese=86;
           univer = new  ImportantUniversity();
           univer.enterRule(math,english,chinese); //调用重写的方法
        }
    }
  • 相关阅读:
    Idea中重建maven模块,dependencies引入为空的解决办法
    HTML <base> 标签 为页面上的所有链接规定默认地址或默认目标
    HTML 5 视频
    JavaScript 使用反斜杠对代码行进行折行
    HTML <b>、 <strong> 、<big>、<small>、<em>、<i>、<sub>和<sup> 标签
    JavaScript concat() 方法-连接两个或多个数组
    JavaScript Array(数组)对象
    JavaScript indexOf() 方法和 lastIndexOf() 方法
    JavaScript String(字符串)对象 实例
    JavaScript 对象
  • 原文地址:https://www.cnblogs.com/yihujiu/p/5990576.html
Copyright © 2011-2022 走看看