首先打开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;}}}
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();// 显示员工薪资信息}}
运行结果