Java经理与员工的差异实现方法

对于在同一家公司工作的经历和员工而言,两者是有很多共同点的。例如,每个月都要发工资,但是经理在完成目标任务后,还会获得奖金。此时,利用员工类来编写经理类就会少写很多代码,利用继承技术可以让经理类使用员工类中定义的属性和方法。编写程序,通过继承演示经理与员工的差异。

思路分析:典型的继承问题。父类是员工类,子类是经理类,经理类继承员工类,这样经理类中就只用额外实现奖金,即增加表示奖金的成员变量和设置及获取奖金的成员方法。

代码如下:

代码如下:

import java.util.Date;

public class Employee {

private String name;        //员工的姓名
    private double salary;      //员工的工资
    private Date birthday;      //员工的生日

public String getName() {       //获取员工的姓名
        return name;
    }

public void setName(String name) {  //设置员工的姓名
        this.name = name;
    }

public double getSalary() {     //获取员工的工资
        return salary;
    }

public void setSalary(double salary) {  //设置员工的工资
        this.salary = salary;
    }

public Date getBirthday() {     //获取员工的生日
        return birthday;
    }

public void setBirthday(Date birthday) {        //设置员工的生日
        this.birthday = birthday;
    }

}
public class Manager extends Employee {
    private double bonus;// 经理的奖金

public double getBonus() {// 获得经理的奖金
        return bonus;
    }

public void setBonus(double bonus) {// 设置经理的奖金
        this.bonus = bonus;
    }
}
import java.util.Date;

public class Test {
    public static void main(String[] args) {
        Employee employee = new Employee();//创建Employee对象并为其赋值
        employee.setName("Java");
        employee.setSalary(100);
        employee.setBirthday(new Date());
        Manager manager = new Manager();//创建Manager对象并为其赋值
        manager.setName("明日科技");
        manager.setSalary(3000);
        manager.setBirthday(new Date());
        manager.setBonus(2000);
        //输出经理和员工的属性值
        System.out.println("员工的姓名:" + employee.getName());
        System.out.println("员工的工资:" + employee.getSalary());
        System.out.println("员工的生日:" + employee.getBirthday());
        System.out.println("经理的姓名:" + manager.getName());
        System.out.println("经理的工资:" + manager.getSalary());
        System.out.println("经理的生日:" + manager.getBirthday());
        System.out.println("经理的奖金:" + manager.getBonus());
    }
}

效果如图所示:

(0)

相关推荐

  • Java经理与员工的差异实现方法

    对于在同一家公司工作的经历和员工而言,两者是有很多共同点的.例如,每个月都要发工资,但是经理在完成目标任务后,还会获得奖金.此时,利用员工类来编写经理类就会少写很多代码,利用继承技术可以让经理类使用员工类中定义的属性和方法.编写程序,通过继承演示经理与员工的差异. 思路分析:典型的继承问题.父类是员工类,子类是经理类,经理类继承员工类,这样经理类中就只用额外实现奖金,即增加表示奖金的成员变量和设置及获取奖金的成员方法. 代码如下: 复制代码 代码如下: import java.util.Date

  • Java使用正则表达式获取子文本的方法示例

    本文实例讲述了Java使用正则表达式获取子文本的方法.分享给大家供大家参考,具体如下: 原来,group是针对()来说的,group(0)就是指的整个串,group(1) 指的是第一个括号里的东西,group(2)指的第二个括号里的东西. 最近学习正则表达式,发现Java中的一些术语与其他地方描述的有所差异.就这个问题卡了我半天,坑爹,写到博客,方便其他新学的朋友.比如Java正则表达式中的"组"概念与<正则表达式必知必会>一书中讲述的"子表达式"其实是

  • java中Class.getMethods()和Class.getDeclaredMethods()方法的区别

    在java中,可以根据Class类的对象,知道某个类(接口)的一些属性(成员 ,方法,注释,注解)等.由于最近的工作中用到了这些,其中需要在代码中格局反射知道某些类的方法,查看文档的时候,看到了getMethods()和getDeclaredMethods()的差异.虽然两者都能实现目的,但个人觉得还是有必要区分下. JDK API(1.6)文档中是这样翻译两个方法的: getMethods(): 返回一个包含某些 Method 对象的数组,这些对象反映此 Class 对象所表示的类或接口(包括

  • 在Java 8中将List转换为Map对象方法

    假设有一个员工对象: <b>public</b> <b>class</b> Employee { <font><i>// member variables</i></font><font> <b>private</b> <b>int</b> empId; <b>private</b> String empName; <b&

  • Java Scanner对象中hasNext()与next()方法的使用

    目录 Scanner对象中hasNext()与next()方法 输入hasNext()和hasNextLine()方法的区别 Scanner对象中hasNext()与next()方法 相信很多像我一样在刚刚接触Java的时候都有遇到这样的问题: 我们可能希望的是:先输出"请输入:"然后我们就可以在控制台输入一个字符串或数字. 但是,事实却是:控制台要我们先输入,输入后才显示"请输入:". 这是怎么回事? 原因: 首先,sc.hasNext()和sc.next()都可

  • Java实现简单员工管理系统

    本文实例为大家分享了Java实现简单员工管理系统的具体代码,供大家参考,具体内容如下 代码如下: import java.util.*; public class Demo {     public static void main(String[] args) {         EmpManage em = new EmpManage();         while (true) {             System.out.println("==================员工管

  • Java中ArrayList同步的2种方法分享

    目录 方法一:使用Collections.synchronizedList()方法 方法2:使用CopyOnWriteArrayList 向量同步时为什么要使用arrayList? 前言: arrayList 的实现是默认不同步的.这意味着如果一个线程在结构上修改它并且多个线程同时访问它,它必须在外部同步.结构修改意味着从列表中添加或删除元素或显式调整后备数组的大小.改变现有元素的值不是结构修改. 有两种方法可以创建同步Arraylist: 1. Collections.synchronized

  • Java实现部门员工管理

    本文实例为大家分享了Java实现部门员工管理的具体代码,供大家参考,具体内容如下 项目作业:部门员工管理 题目要求: 某公司要开发内部的 “办公信息化管理系统”,请使用面向对象的思想描述以下员工信息. 程序运行参考效果图如下: 任务描述 一.程序整体要求 划分功能模块,根据题目要求设置不同的包和类,在类中实现相应功能的管理. 类的标识要清楚易懂,代码结构要层次分明,代码编辑思路要清晰.整洁. 要求Java代码书写.命名符合规范,属性所属数据类型要准确合理,在代码中添加必要的注释,程序运行效果与提

  • java多线程之CyclicBarrier的使用方法

    java多线程之CyclicBarrier的使用方法 public class CyclicBarrierTest { public static void main(String[] args) { ExecutorService service = Executors.newCachedThreadPool(); final CyclicBarrier cb = new CyclicBarrier(3); for(int i=0;i<3;i++){ Runnable runnable = n

  • Java模拟QQ桌面截图功能实现方法

    本文实例讲述了Java模拟QQ桌面截图功能实现方法.分享给大家供大家参考.具体如下: QQ的桌面截图功能非常方便,去年曾用Java模拟过一个,现整理出来. 本方法首先需要抓到屏幕的整个图象,将图象显示在一个JFrame中,再将JFrame全屏显示,这样就模拟出了一个桌面,Java也就可以获得鼠标的作用区域从而实现桌面中的小范围截屏. import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import

随机推荐