ITPub博客

首页 > 数据库 > Oracle > Java编写员工薪资表

Java编写员工薪资表

Oracle 作者:lfazzq 时间:2012-12-16 20:38:00 0 删除 编辑

java中的类不支持多重继承,一个类只能有一个超类,那怎么解决呢,接口在各个程序可以完美解决这个问题,实现 多重继承的功能

方法/步骤

  1. 1

    首先打开eclipse

  2. 2

    新建一个java项目,名字随意起

  3. 3

    名字起好后,点击完成

  4. 4

    右键点击项目名称,新建,类

  5. 5

    类的名字叫TextInterface

    包的名字叫 com.zf.s2

    点击完成


  6. 6

    首先创建一个员工类

    class Employee {// 员工类

    private String name;// 员工名称

    private String gender;// 员工性别

    private int age;// 员工年龄

    private int salary;// 员工薪资

    public Employee(String name, String gender, int age, int salary) {

    super();

    this.name = name;

    this.gender = gender;

    this.age = age;

    this.salary = salary;

    }

    public int getAge() {

    return age;

    }

    public void setAge(int age) {

    this.age = age;

    }

    public String getGender() {

    return gender;

    }

    public void setGender(String gender) {

    this.gender = gender;

    }

    public String getName() {

    return name;

    }

    public void setName(String name) {

    this.name = name;

    }

    public int getSalary() {

    return salary;

    }

    public void setSalary(int salary) {

    this.salary = salary;

    }

    }


  7. 7

    定义输出二维表的接口

    interface PersonForm {

    public int getFormCol();// 获得表格的列数


    public int getFormRow();// 获得表格的行数


    public String getValue(int row, int col);// 获得指定的某行某列的值


    public String getColName(int col);// 获得指定的列名

    }


  8. 8

    class FormA implements PersonForm {// 定义一个类实现接口

    String[][] data;// 定义一个二维数组

    public FormA(String[][] data) {// 带参数的构造方法

    this.data = data;

    }

    public String getColName(int col) {// 获得指定的列名

    return data[0][col];

    }

    public int getFormCol() {// 获得表格的列数

    return data[0].length;

    }

    public int getFormRow() {// 获得表格的行数

    return data.length - 1;

    }

    public String getValue(int row, int col) {// 获得指定的某行某列的值

    return data[row + 1][col];

    }

    }


  9. 9

    class FormB implements PersonForm {// 定义一个类实现接口

    private Employee[] data;

    public FormB(Employee[] data) {// 带参数的构造方法

    this.data = data;

    }

    public String getColName(int col) {

    switch (col) {

    case 0:

    return "姓名 |";

    case 1:

    return "性别 |";

    case 2:

    return "年龄 |";

    case 3:

    return "工资 |";

    default:

    return null;

    }

    }

    public int getFormCol() {

    return 4;

    }

    public int getFormRow() {

    return data.length;

    }

    public String getValue(int row, int col) {

    switch (col) {

    case 0:

    return data[row].getName();

    case 1:

    return data[row].getGender();

    case 2:

    return data[row].getAge() + "";

    case 3:

    return data[row].getSalary() + "";

    default:

    return null;

    }

    }

    }


  10. 10

    class Table {// 表格类

    private PersonForm form;

    public Table(PersonForm form) {// 带参数的构造方法

    this.form = form;

    }

    public void display() {// 显示格式和取值

    for (int i = 0; i < form.getFormCol(); i++) {// 循环显示列名

    System.out.print(form.getColName(i));

    }

    System.out.println();

    System.out.println("---------------------------------");

    for (int i = 0; i < form.getFormRow(); i++) {// 循环显示行信息

    for (int j = 0; j < form.getFormCol(); j++) {// 循环显示列信息

    System.out.print(form.getValue(i, j) + " |");

    }

    System.out.println();

    }

    }

    }


  11. 11

    public class TextInterface {// 操作接口的类

    public static void main(String[] args) {// java程序主入口处

    String[][] str = new String[][] {//创建二维数组存储数据

    { "name |", "gender |", "age |", "salary |" },

    { "Tom", "male", "20", "2000" },

    { "Lingda", "female", "21", "2100" },

    { "Susan", "female", "22", "2200" },

    { "Ansen", "female", "24", "2500" } };

    PersonForm form=new FormA(str);//接口变量引用类对象

    Table table1=new Table(form);//创建表格实例

    table1.display();// 显示员工薪资信息

    System.out.println("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^");

    Employee em1 = new Employee("汤姆", "男", 20, 2000);// 创建员工对象用一维数组存储

    Employee em2 = new Employee("玲达", "女", 21, 2100);

    Employee em3 = new Employee("苏萨", "女", 22, 2200);

    Employee em4 = new Employee("爱瑞卡", "男", 23, 2300);

    Employee em5 = new Employee("安臣", "女", 24, 2500);

    Employee[] data = { em1, em2, em3, em4, em5 };// 创建员工数组

    PersonForm form1 = new FormB(data);//接口变量引用类对象

    Table table2 = new Table(form1);// 创建表格实例

    table2.display();// 显示员工薪资信息

    }

    }


  12. 12

    运行结果

    END

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21254597/viewspace-1109193/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2009-03-30