本博文源于《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]小白用经理类与学生类阐释抽象(含源码)相关推荐

  1. JAVA实训项目:银行网银系统管理平台(含源码)

    JAVA实训项目:银行网银系统管理平台(含源码) 文章目录 JAVA实训项目:银行网银系统管理平台(含源码) 前言 一.项目功能需求描述以及相关技术的应用 相关技术应用 二.设计过程 系统流程图 1. ...

  2. java swing(GUI) MySQL实现的学生选课签到考勤系统源码开发教程

    今天给大家演示一款由Java swing即GUI和mysql数据库实现的,学生签到考勤信息管理系统,系统采用了MVC的设计模式,结构层次非常清晰,此外,该项目有手把手的开发教程,适合刚入门Java的学 ...

  3. 汉字大英雄-赚钱类小游戏脚本系列(含源码)

    "ui"; //更多精品源码请访问:https//01jb.cn/ var 软件名 = "汉字大英雄" var 包名 = "com.ruiqugame ...

  4. java毕设项目 - 基于SSM的停车位短租网站(含源码+论文)

    文章目录 1 项目简介 2 实现效果 2.1 界面展示 3 设计方案 3.1 概述 3.2 系统业务流程 3.3 系统结构设计 4 项目获取 1 项目简介 Hi,各位同学好呀,这里是M学姐! 今天向大 ...

  5. JAVA毕业设计计算机类专业考研交流学习平台计算机源码+lw文档+系统+调试部署+数据库

    JAVA毕业设计计算机类专业考研交流学习平台计算机源码+lw文档+系统+调试部署+数据库 JAVA毕业设计计算机类专业考研交流学习平台计算机源码+lw文档+系统+调试部署+数据库 本源码技术栈: 项目 ...

  6. 设计一个分数类java_设计一个学生类,学生类中应包括学号,姓名,语文成绩,数学成绩,英语成绩,同时还要提供两个方法,一个方...

    设计一个学生类,学生类中应包括学号,姓名,语文成绩,数学成绩,英语成绩,同时还要提供两个方法,一个方 2016-08-22 0 0 0 5.0 分 其他 1 积分下载 如何获取积分? 设计一个学生类, ...

  7. 需求:定义老师和学生类,然后写代码测试;最后找到老师类和学生类当中的共性内容,抽出一个父类,用继承的方式改写代码,并进行测试

    需求:定义老师和学生类,然后写代码测试;最后找到老师类和学生类当中的共性内容,抽出一个父类 ,用继承的方式改写代码,并进行测试 思路: 1. 定义老师类(姓名,年龄,教书()) 2. 定义学生类(姓名 ...

  8. JAVA计算机毕业设计学生学籍信息管理系统Mybatis+源码+数据库+lw文档+系统+调试部署

    JAVA计算机毕业设计学生学籍信息管理系统Mybatis+源码+数据库+lw文档+系统+调试部署 JAVA计算机毕业设计学生学籍信息管理系统Mybatis+源码+数据库+lw文档+系统+调试部署 本源 ...

  9. java毕业生设计学生用品采购系统计算机源码+系统+mysql+调试部署+lw

    java毕业生设计学生用品采购系统计算机源码+系统+mysql+调试部署+lw java毕业生设计学生用品采购系统计算机源码+系统+mysql+调试部署+lw 本源码技术栈: 项目架构:B/S架构 开 ...

最新文章

  1. php 编译安装降解,对php编译安装的修正
  2. Pytorch view()、squeeze()、unsqueeze()、torch.max()
  3. 计算机专业哪些证书可以抵个税,2020年度个人所得税汇算清缴进行时 职业资格证书有哪些能抵扣个税?...
  4. 让 WPF 的 RadioButton 支持再次点击取消选中的功能
  5. java 自动化测试报告_Java自动化测试框架-10 - TestNG之测试结果篇
  6. Mac下Vmware Fusion配置虚拟机虚拟网卡并配置CENTOS上网
  7. vim编辑器初级(一)
  8. 【优化求解】基于matlab粒子群算法求解干扰受限无人机辅助网络优化问题【含Matlab源码 230期】
  9. 对同一元素设置overflow-x:hidden,overflow-y:visible;属性值不生效
  10. shell 命令set -e的作用
  11. 商业分析方法与工具总结
  12. Delphi 的并行计算
  13. css 剪辑图片_[译]用CSS剪切圆形图片
  14. “蔚来杯“2022牛客暑期多校训练营1 J Serval and Essay(启发式合并)
  15. Unity--Particle system(粒子系统)(一)
  16. 想自己上线微信小程序一定要会代码?
  17. hihoCoder Magic Box
  18. 硬盘对拷怎么操作?这个方法更简单!
  19. 官宣!华为出售荣耀(附收购公司情况介绍)
  20. Exchange Sever 2003 之新旧用户交接邮箱

热门文章

  1. ArcGIS:统计各个点分别属于哪个行政区
  2. 为构建社交关系链手淘都做了啥?
  3. Linux常用命令小结(间歇性更新纠正)
  4. 12对胸椎对应体表标志_胸部的胸部体表标志
  5. 使用socket的阻塞简单通信聊天工具
  6. Wi-Fi 6E:Wi-Fi的下一个伟大篇章
  7. html圆圈点选择,如何用html5点击相应链接时用颜色填充圆圈
  8. QQ如何设置关闭“可能认识的人”推荐
  9. Qt项目:基与Qt的音乐播放器(本地)
  10. 每次10分钟免费网络电话,无限次数