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); //调用重写的方法
        }
    }
  • 相关阅读:
    nginx location 语法
    nginx 日志文件
    nginx 配置文件详解
    mysql分区partition
    MySQL跳过密码登录
    min/max优化,count ,group by
    in型子查询陷阱,exists子查询
    explain分析sql效果
    HDU2896 病毒侵袭 —— AC自动机
    二分图之 多重匹配 和 最大权匹配 等总结
  • 原文地址:https://www.cnblogs.com/yihujiu/p/5990576.html
Copyright © 2011-2022 走看看