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); //调用重写的方法
        }
    }
  • 相关阅读:
    JAVA多线程理论!
    JAVA理论!
    对于PHP的基础理论!
    C#中的ArrayList
    C#中HashTable的用法
    用C#写经理评分系统
    C#数据类型
    jQuery小测的总结
    用jQuery模拟淘宝购物车
    JavaScript--------------------jQuery中.bind() .live() .delegate() .on()的区别 和 三种方式写光棒事件 动画
  • 原文地址:https://www.cnblogs.com/yihujiu/p/5990576.html
Copyright © 2011-2022 走看看