您现在的位置: 万盛学电脑网 >> 程序编程 >> 网页制作 >> xml编程 >> 正文

Java编写员工薪资表

作者:佚名    责任编辑:admin    更新时间:2022-06-22

class="area"> java中的类不支持多重继承,一个类只能有一个超类,那怎么解决呢,接口在各个程序可以完美解决这个问题,实现 多重继承的功能        
方法/步骤 首先打开eclipse        
新建一个java项目,名字随意起        
名字起好后,点击完成        
右键点击项目名称,新建,类        
类的名字叫TextInterface
包的名字叫 com.zf.s2 点击完成          
首先创建一个员工类 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; } }          
定义输出二维表的接口
interface PersonForm { public int getFormCol();// 获得表格的列数  
public int getFormRow();// 获得表格的行数  
public String getValue(int row, int col);// 获得指定的某行某列的值  
public String getColName(int col);// 获得指定的列名 }          
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]; } }          
class FormB implements PersonForm {// 定义一个类实现接口 private Employee[] data; public FormB(Employee[] data) {// 带参数的构造方法 this.data = data; } public String getColName(int col) { switch (col) { case 0: return "姓名\t|"; case 1: return "性别\t|"; case 2: return "年龄\t|"; case 3: return "工资\t|"; 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; } } }          
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) + "\t|"); } System.out.println(); } } }          
public class TextInterface {// 操作接口的类 public static void main(String[] args) {// java程序主入口处 String[][] str = new String[][] {//创建二维数组存储数据 { "name\t|", "gender\t|", "age\t|", "salary\t|" }, { "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();// 显示员工薪资信息 } }          
运行结果