1、首先打开eclipse
2、新建一个java项目,名字随意起
3、名字起好后,点击完成
4、右键点击项目名称,新建,类
5、类的名字叫TextInterface包的名字叫 com.zf.s2点击完成
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、定义输出二维表的接口interface PersonForm {public int getFormCol();// 获得表格的列数public int getFormRow();// 获得表格的行数public String getValue(int row, int col);// 获得指定的某行某列的值public String getColName(int col);// 获得指定的列名}
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、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;}}}
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) + "\t|");}System.out.println();}}}
11、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();// 显示员工薪资信息}}
12、运行结果