Java类的继承(将来填坑)
阅读《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类的继承(将来填坑)相关推荐
- Java类的继承总结
本文主要是讲述Java类的继承,更多Java技术知识,请登陆疯狂软件教育官网.加疯狂软件官方微信号:fkitorg,免费赢大奖,有机会赢得iOS培训课程一套. 在 ...
- JAVA 类的继承(私有属性、自动转型)(入门级小白一看就懂)
JAVA 类的继承 文章目录 JAVA 类的继承 概述 1. 类的继承 1.1 引言 1.2 继承的定义 1.3 继承的规则 1.4 继承的格式 1.5 类的继承实例分析 2 私有属性 3 自动转型 ...
- java 类继承实例_java继承例子代码,java类的继承示例
下面要给大家带来的是一个java类的继承的例子,一起来看看详细的代码吧! 一.题目 1.定义一个Person类,这个类的属性有三个,分别是name.age.color. 类有构造方法给三个属性赋值. ...
- JAVA类的继承 Teacher和Student
JAVA类的继承 Teacher和Student 题目描述 定义一个Teacher类和一个Student类,二者有部分数据成员是相同的,例如num,name,sex. 学生有分数score,而教师有薪 ...
- JAVA类的继承、覆写和final关键字
extends不用多说,是来继承的关键字,但它有几个要点: java不允许多重继承(一个类只能继承一个父类,不能继承多个父类) 派生类会继承基类所有属性和方法,但不能直接访问基类的private私有属 ...
- Java类的继承关键字_Java的第八天(类的继承、super关键字的使用、方法的重写)...
39.类的继承java 描述类的时候,咱们若是发现有几个类有重复的属性和方法,咱们就能够采用继承的方法来设计ide 使用extends关键字来继承this 语法:设计 class 子类 extends ...
- java类的继承,接口,抽象类总结
1. 类的继承 类和类之间可以实现继承关系,即从一个类中继承它的部分属性和部分方法,避免重写代码,提高了代码的重用性.比如武侠小说,言情小说,玄幻小说都属于小说,拥有小说所拥有的属性.继承的格式是pu ...
- java类的继承(基础)
---恢复内容开始--- 这篇随笔和大家讲讲java中类的继承是什么?希望对你们有所帮助. 目录 一.java继承是什么? 二.为什么使用java继承 三.java继承的实现 1.1 java继承的 ...
- 什么是java类的继承_Java类与继承
在Java中,类文件是以.java为后缀的代码文件,在每个类文件中最多只允许出现一个public类,当有public类的时候,类文件的名称必须和public类的名称相同,若不存在public,则类文件 ...
最新文章
- 网站SEO优化技巧的“减法运算”
- 组会PPT20200522《Summary of Study and Research from May 8 to May 21》
- 数据结构与算法之前缀数
- ubuntu19.10锁屏时间调节
- date数据要在前台显示
- ELK Stack 与 Elastic Stack 的异同点
- springboot的一些基层原理 2021-05-28
- 搭建网站-Disczu
- week5 0.1 安装materializecss
- Felix: Flexible Text Editing Through Tagging and Insertion (2020-03)
- vue中使用vuex结合sessionStorage做的登录功能
- 取消IE“已限制此网页运行可以访问计算机的脚本
- matlab语句运算相关论文,毕业论文MATLAB在复变函数中的应用.doc
- 计算机二级C语言选择题总结
- 微信小游戏开发指南(一)什么是微信小游戏
- android电容触摸驱动
- 谷歌Chrome浏览器离线安装包
- un3.0服务器文档,ZXUNUSPP系统概述.ppt
- 前端性能优化方案(图片)
- python excel 微信_Python读写Excel文件第三方库汇总,你想要的都在这儿!,微信文件第三方打开...
热门文章
- js data日期初始化的5种方法 [转]
- $_SERVER['SCRIPT_FILENAME'] 与 __FILE__ 区别
- mysql连接池_基于Swoole的通用连接池 - 数据库连接池(life)
- python requests 示例_Python Requests模块的简单示例
- source tree 递归子模块_每日刷题3--漫谈二叉树的递归遍历
- 二分类2x2对角矩阵准确率表达式
- mysql monday event_MySQL获取日期周、月、天,生成序号
- sysbench 压测 mysql_sysbench压测
- python 网关控制家居_在树莓派上搭建智能家居网关
- STM32 电机教程 18 - MC Workbench生成工程代码的电机调试