[java]小白用经理类与学生类阐释抽象(含源码)
本博文源于《Java核心技术卷1》在java学习中,牢记“上层业务流从来不需要关心底层如何实现”只要第层能好好的模拟上层操作,完成上层的业务需求获得本身的价值即可。
下面这行代码是小白包含的包,直接在对应的java文件创建一个对应的文件夹即可。
package abstractClasses;
PersonTest.java
package abstractClasses;public class PersonTest {public static void main(String[] args){Person[] people = new Person[2];people[0] = new Employee("Harry Hacker",50000,1989,10,1);people[1] = new Student("Maria Morris","computer science");for(Person p:people)System.out.println(p.getName() + ", " + p.getDescription());}
}
Person.java
package abstractClasses;public abstract class Person {public abstract String getDescription();private String name;public Person(String name) {this.name = name;}public String getName(){return name;}
}
Employee.java
package abstractClasses;import java.time.*;
public class Employee extends Person{private double salary;private LocalDate hireDay;public Employee(String name,double salary,int year,int month,int day){super(name);this.salary = salary;hireDay = LocalDate.of(year,month,day);}public double getSalary(){return salary;}public LocalDate getHireDay(){return hireDay;}@Overridepublic String getDescription() {return String.format("an employee with a salary $%.2f",salary);}public void raiseSalary(double byPercent){double raise = salary * byPercent / 100;salary += raise;}
}
Student.java
package abstractClasses;public class Student extends Person{private String major;public Student(String name,String major) {super(name);this.major = major;}public String getDescription(){return "a student majoring in" + major;}
}
这就是java的抽象类所实现的结构,如何阐释呢?大家大家还是要看Person.java这个java文件里定义一个Person抽象类,抽象有三个函数一个是为实现的getDescription\Person\getName.其中getDescription因为有了abstract关键字却未实现,在继承类的时候一定要复写,因此关键就是抽象类是一个特殊的继承关系。抽象未能实现的,必须在各自子类实现继承复写,不然会报错的。
[java]小白用经理类与学生类阐释抽象(含源码)相关推荐
- JAVA实训项目:银行网银系统管理平台(含源码)
JAVA实训项目:银行网银系统管理平台(含源码) 文章目录 JAVA实训项目:银行网银系统管理平台(含源码) 前言 一.项目功能需求描述以及相关技术的应用 相关技术应用 二.设计过程 系统流程图 1. ...
- java swing(GUI) MySQL实现的学生选课签到考勤系统源码开发教程
今天给大家演示一款由Java swing即GUI和mysql数据库实现的,学生签到考勤信息管理系统,系统采用了MVC的设计模式,结构层次非常清晰,此外,该项目有手把手的开发教程,适合刚入门Java的学 ...
- 汉字大英雄-赚钱类小游戏脚本系列(含源码)
"ui"; //更多精品源码请访问:https//01jb.cn/ var 软件名 = "汉字大英雄" var 包名 = "com.ruiqugame ...
- java毕设项目 - 基于SSM的停车位短租网站(含源码+论文)
文章目录 1 项目简介 2 实现效果 2.1 界面展示 3 设计方案 3.1 概述 3.2 系统业务流程 3.3 系统结构设计 4 项目获取 1 项目简介 Hi,各位同学好呀,这里是M学姐! 今天向大 ...
- JAVA毕业设计计算机类专业考研交流学习平台计算机源码+lw文档+系统+调试部署+数据库
JAVA毕业设计计算机类专业考研交流学习平台计算机源码+lw文档+系统+调试部署+数据库 JAVA毕业设计计算机类专业考研交流学习平台计算机源码+lw文档+系统+调试部署+数据库 本源码技术栈: 项目 ...
- 设计一个分数类java_设计一个学生类,学生类中应包括学号,姓名,语文成绩,数学成绩,英语成绩,同时还要提供两个方法,一个方...
设计一个学生类,学生类中应包括学号,姓名,语文成绩,数学成绩,英语成绩,同时还要提供两个方法,一个方 2016-08-22 0 0 0 5.0 分 其他 1 积分下载 如何获取积分? 设计一个学生类, ...
- 需求:定义老师和学生类,然后写代码测试;最后找到老师类和学生类当中的共性内容,抽出一个父类,用继承的方式改写代码,并进行测试
需求:定义老师和学生类,然后写代码测试;最后找到老师类和学生类当中的共性内容,抽出一个父类 ,用继承的方式改写代码,并进行测试 思路: 1. 定义老师类(姓名,年龄,教书()) 2. 定义学生类(姓名 ...
- JAVA计算机毕业设计学生学籍信息管理系统Mybatis+源码+数据库+lw文档+系统+调试部署
JAVA计算机毕业设计学生学籍信息管理系统Mybatis+源码+数据库+lw文档+系统+调试部署 JAVA计算机毕业设计学生学籍信息管理系统Mybatis+源码+数据库+lw文档+系统+调试部署 本源 ...
- java毕业生设计学生用品采购系统计算机源码+系统+mysql+调试部署+lw
java毕业生设计学生用品采购系统计算机源码+系统+mysql+调试部署+lw java毕业生设计学生用品采购系统计算机源码+系统+mysql+调试部署+lw 本源码技术栈: 项目架构:B/S架构 开 ...
最新文章
- php 编译安装降解,对php编译安装的修正
- Pytorch view()、squeeze()、unsqueeze()、torch.max()
- 计算机专业哪些证书可以抵个税,2020年度个人所得税汇算清缴进行时 职业资格证书有哪些能抵扣个税?...
- 让 WPF 的 RadioButton 支持再次点击取消选中的功能
- java 自动化测试报告_Java自动化测试框架-10 - TestNG之测试结果篇
- Mac下Vmware Fusion配置虚拟机虚拟网卡并配置CENTOS上网
- vim编辑器初级(一)
- 【优化求解】基于matlab粒子群算法求解干扰受限无人机辅助网络优化问题【含Matlab源码 230期】
- 对同一元素设置overflow-x:hidden,overflow-y:visible;属性值不生效
- shell 命令set -e的作用
- 商业分析方法与工具总结
- Delphi 的并行计算
- css 剪辑图片_[译]用CSS剪切圆形图片
- “蔚来杯“2022牛客暑期多校训练营1 J Serval and Essay(启发式合并)
- Unity--Particle system(粒子系统)(一)
- 想自己上线微信小程序一定要会代码?
- hihoCoder Magic Box
- 硬盘对拷怎么操作?这个方法更简单!
- 官宣!华为出售荣耀(附收购公司情况介绍)
- Exchange Sever 2003 之新旧用户交接邮箱