阅读《Java核心技术卷1》

第五章继承
关键字extends表示继承。
关键字extends表明正在构造的新类派生于一个已存在的类。这个已存在的类称为超类,新类称为子类。超类和新类是Java程序员最常用的两个术语,而C++程序员更喜欢称之为父类和子类。

子类比超类拥有的功能更多。比如Manager类继承自Employee类,那么Manager类自动继承了Employee类的方法,通过扩展超类继承子类的时候,只需要指出子类和超类的不同之处。在设计类的时候,应该将最一般的方法放在超类中,而将更特殊的方法放在子类中,这种将通用功能抽取到超类的做法在面向对象程序设计中十分普遍。

下面这个例子:
Hello.java 是主程序,
Employee类是超类,
Manager类是继承自Employee类的子类,其多了一个设置奖金的方法setBonus
Hello.java

package HelloWorld;public class Hello {public static void main(String[] args){System.out.println("这是我的第一个Java程序");Manager boss=new Manager("Carl",80000);boss.setBonus(5000);Employee[] staff=new Employee[4];staff[0]=new Employee("Tom",40000);staff[1]=new Employee("Alice",50000);staff[2]=new Employee("Harry",65000);staff[3]=boss;for(Employee e:staff){e.setId();System.out.println("name="+e.getName()+",id="+e.getId()+",salary="+e.getSalary());}}
}

Employee.java

package HelloWorld;public class Employee {private static int nextId=1;private String name;//instance fieldsprivate double salary;private int id;public Employee(String n,double s){//constructorname=n;salary=s;id=0;}public String getName(){//methodreturn  name;}public double getSalary(){return  salary;}public int getId(){return id;}public  void setId(){id=nextId;nextId++;}public  static  int getNextId(){return nextId;}public static void main(String[] args){//unit testEmployee e=new Employee("Harry",50000);System.out.println(e.getName()+" "+e.getSalary());}}

Manager.java

package HelloWorld;public class Manager extends Employee{private double bonus;public  Manager(String name,double salary){super(name,salary);bonus=0;}public double getSalary(){double baseSalary=super.getSalary();//super是覆盖掉超类Employee的getSalary方法return baseSalary+bonus;}public  void setBonus(double b){bonus=b;}
}

运行结果

这是我的第一个Java程序
name=Tom,id=1,salary=40000.0
name=Alice,id=2,salary=50000.0
name=Harry,id=3,salary=65000.0
name=Carl,id=4,salary=85000.0Process finished with exit code 0

Java类的继承(将来填坑)相关推荐

  1. Java类的继承总结

                       本文主要是讲述Java类的继承,更多Java技术知识,请登陆疯狂软件教育官网.加疯狂软件官方微信号:fkitorg,免费赢大奖,有机会赢得iOS培训课程一套. 在 ...

  2. JAVA 类的继承(私有属性、自动转型)(入门级小白一看就懂)

    JAVA 类的继承 文章目录 JAVA 类的继承 概述 1. 类的继承 1.1 引言 1.2 继承的定义 1.3 继承的规则 1.4 继承的格式 1.5 类的继承实例分析 2 私有属性 3 自动转型 ...

  3. java 类继承实例_java继承例子代码,java类的继承示例

    下面要给大家带来的是一个java类的继承的例子,一起来看看详细的代码吧! 一.题目 1.定义一个Person类,这个类的属性有三个,分别是name.age.color. 类有构造方法给三个属性赋值. ...

  4. JAVA类的继承 Teacher和Student

    JAVA类的继承 Teacher和Student 题目描述 定义一个Teacher类和一个Student类,二者有部分数据成员是相同的,例如num,name,sex. 学生有分数score,而教师有薪 ...

  5. JAVA类的继承、覆写和final关键字

    extends不用多说,是来继承的关键字,但它有几个要点: java不允许多重继承(一个类只能继承一个父类,不能继承多个父类) 派生类会继承基类所有属性和方法,但不能直接访问基类的private私有属 ...

  6. Java类的继承关键字_Java的第八天(类的继承、super关键字的使用、方法的重写)...

    39.类的继承java 描述类的时候,咱们若是发现有几个类有重复的属性和方法,咱们就能够采用继承的方法来设计ide 使用extends关键字来继承this 语法:设计 class 子类 extends ...

  7. java类的继承,接口,抽象类总结

    1. 类的继承 类和类之间可以实现继承关系,即从一个类中继承它的部分属性和部分方法,避免重写代码,提高了代码的重用性.比如武侠小说,言情小说,玄幻小说都属于小说,拥有小说所拥有的属性.继承的格式是pu ...

  8. java类的继承(基础)

    ---恢复内容开始--- 这篇随笔和大家讲讲java中类的继承是什么?希望对你们有所帮助. 目录 一.java继承是什么? 二.为什么使用java继承 三.java继承的实现 1.1  java继承的 ...

  9. 什么是java类的继承_Java类与继承

    在Java中,类文件是以.java为后缀的代码文件,在每个类文件中最多只允许出现一个public类,当有public类的时候,类文件的名称必须和public类的名称相同,若不存在public,则类文件 ...

最新文章

  1. 网站SEO优化技巧的“减法运算”
  2. 组会PPT20200522《Summary of Study and Research from May 8 to May 21》
  3. 数据结构与算法之前缀数
  4. ubuntu19.10锁屏时间调节
  5. date数据要在前台显示
  6. ELK Stack 与 Elastic Stack 的异同点
  7. springboot的一些基层原理 2021-05-28
  8. 搭建网站-Disczu
  9. week5 0.1 安装materializecss
  10. Felix: Flexible Text Editing Through Tagging and Insertion (2020-03)
  11. vue中使用vuex结合sessionStorage做的登录功能
  12. 取消IE“已限制此网页运行可以访问计算机的脚本
  13. matlab语句运算相关论文,毕业论文MATLAB在复变函数中的应用.doc
  14. 计算机二级C语言选择题总结
  15. 微信小游戏开发指南(一)什么是微信小游戏
  16. android电容触摸驱动
  17. 谷歌Chrome浏览器离线安装包
  18. un3.0服务器文档,ZXUNUSPP系统概述.ppt
  19. 前端性能优化方案(图片)
  20. python excel 微信_Python读写Excel文件第三方库汇总,你想要的都在这儿!,微信文件第三方打开...

热门文章

  1. js data日期初始化的5种方法 [转]
  2. $_SERVER['SCRIPT_FILENAME'] 与 __FILE__ 区别
  3. mysql连接池_基于Swoole的通用连接池 - 数据库连接池(life)
  4. python requests 示例_Python Requests模块的简单示例
  5. source tree 递归子模块_每日刷题3--漫谈二叉树的递归遍历
  6. 二分类2x2对角矩阵准确率表达式
  7. mysql monday event_MySQL获取日期周、月、天,生成序号
  8. sysbench 压测 mysql_sysbench压测
  9. python 网关控制家居_在树莓派上搭建智能家居网关
  10. STM32 电机教程 18 - MC Workbench生成工程代码的电机调试