当前位置: 首页 > news >正文

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); //调用重写的方法
    }
}

 

转载于:https://www.cnblogs.com/yihujiu/p/5990576.html

相关文章:

  • 测试流程方法
  • Android精品资源分享站
  • hostapd源代码分析(三):管理帧的收发和处理
  • Velocity工作原理解析和优化
  • ARM+LINUX移植攻略(五)U-boot-2009.08移植TE2440II开发板--支持DM9000A
  • 实验四
  • 半小时深刻理解React
  • 关于 Inspectable 标签
  • 关于 Xcode8打印JSON的时候,NSLog控制台显示不完整
  • 多级指针和链表
  • 第一章 JacksonUtil 序列化与反序列化属性总结
  • Tomcat中的404错误
  • MJExtension和JSONModel的使用
  • 看清preparedstatement与statement的一点区别
  • 面试困惑问与答(1)——“为什么跳槽”
  • 《网管员必读——网络组建》(第2版)电子课件下载
  • Apache Spark Streaming 使用实例
  • CSS居中完全指南——构建CSS居中决策树
  • CSS中外联样式表代表的含义
  • exif信息对照
  • JavaScript对象详解
  • python_bomb----数据类型总结
  • 从零开始的无人驾驶 1
  • 基于遗传算法的优化问题求解
  • 七牛云假注销小指南
  • 通过获取异步加载JS文件进度实现一个canvas环形loading图
  • 小李飞刀:SQL题目刷起来!
  • 自制字幕遮挡器
  • 【运维趟坑回忆录】vpc迁移 - 吃螃蟹之路
  • AI算硅基生命吗,为什么?
  • 阿里云服务器如何修改远程端口?
  • 分布式关系型数据库服务 DRDS 支持显示的 Prepare 及逻辑库锁功能等多项能力 ...
  • 关于Kubernetes Dashboard漏洞CVE-2018-18264的修复公告
  • #周末课堂# 【Linux + JVM + Mysql高级性能优化班】(火热报名中~~~)
  • $分析了六十多年间100万字的政府工作报告,我看到了这样的变迁
  • (14)学习笔记:动手深度学习(Pytorch神经网络基础)
  • (2)nginx 安装、启停
  • (Bean工厂的后处理器入门)学习Spring的第七天
  • (SpringBoot)第二章:Spring创建和使用
  • (TOJ2804)Even? Odd?
  • (附源码)ssm基于jsp的在线点餐系统 毕业设计 111016
  • (附源码)ssm基于jsp高校选课系统 毕业设计 291627
  • (更新)A股上市公司华证ESG评级得分稳健性校验ESG得分年均值中位数(2009-2023年.12)
  • (汇总)os模块以及shutil模块对文件的操作
  • (免费领源码)python+django+mysql线上兼职平台系统83320-计算机毕业设计项目选题推荐
  • (生成器)yield与(迭代器)generator
  • (学习日记)2024.04.04:UCOSIII第三十二节:计数信号量实验
  • *ST京蓝入股力合节能 着力绿色智慧城市服务
  • .md即markdown文件的基本常用编写语法
  • .NET Compact Framework 多线程环境下的UI异步刷新
  • .NET/C# 判断某个类是否是泛型类型或泛型接口的子类型
  • .net开发引用程序集提示没有强名称的解决办法
  • /usr/bin/python: can't decompress data; zlib not available 的异常处理
  • @ModelAttribute注解使用
  • []FET-430SIM508 研究日志 11.3.31