import javax.swing.JOptionPane;
public class peosonarray
{
public static void main(String args[])
{
person<introduction>[] a=new person[10];
int personnum;
personnum=Integer.parseInt(JOptionPane.showInputDialog("请输入需要建立的联系人档案库大小(单位:人)"));
if( personnum> 10||personnum<1){JOptionPane.showMessageDialog(null,"输入非法!"); System.exit(0);}
for(int i=personnum; i>0; i--)
{
String i1;
i1=String.valueOf(i);
introduction I=new introduction(i1,i1,i1,i1,i);
a[i-1]=new person<introduction>(I);
}
/*for(int i=(personnum/2); i>0; i--)
{
String i1;
i1=String.valueOf(i);
contact C=new contact(i1,i1,i1);
a[i-1]=new person(C);
}*/
for(int i=personnum; i>0; i--)
{
System.out.println("档案"+i);
System.out.println(a[i-1]);
}
}
}
interface info{
}
//基本信息
class introduction implements info
{
private String First_name;
private String Last_name;
private String sex;
private String ID;
private int age;
public introduction(String a, String b, String c, String d, int age)
{
this.setFirst_name(a);
this.setLast_name(b);
this.setsex(c);
this.setID(d);
this.setage(age);
}
public void setFirst_name(String Firstname)
{
this.First_name = Firstname;
}
public void setLast_name(String Last_name)
{
this.Last_name = Last_name;
}
public void setsex(String sex)
{
this.sex = sex;
}
public void setID(String ID)
{
this.ID = ID;
}
public void setage(int age)
{
this.age = age;
}
public String getFirst_name()
{
return this.First_name;
}
public String getLast_name()
{
return this.Last_name;
}
public String getsex()
{
return this.sex;
}
public String getID()
{
return this.ID;
}
public int getage()
{
return this.age;
}
public String toString()
{
return "基本信息:" + "\n" +
"\t|- 姓名:" + this.First_name+this.Last_name + "\n" +
"\t|- 性别:" + this.sex + "\n" +
"\t|- ID:" + this.ID + "\n" +
"\t|- 年龄:" + this.age ;
}
}
//联系方式
class contact implements info
{
private String telephone;
private String address;
private String zip_code;
public contact(String address,String telphone,String zipcode){
this.setaddress(address) ;
this.settelephone(telphone) ;
this.setzip_code(zip_code) ;
}
public void settelephone(String telephone)
{
this.telephone = telephone;
}
public void setaddress(String address)
{
this.address = address;
}
public void setzip_code(String zip_code)
{
this.zip_code = zip_code;
}
public String gettelephone()
{
return this.telephone;
}
public String getaddress()
{
return this.address;
}
public String getzip_code()
{
return this.zip_code;
}
public String toString()
{
return "联系方式:" + "\n" +
"\t|- 联系电话:" + this.telephone + "\n" +
"\t|- 联系地址:" + this.address + "\n" +
"\t|- 邮政编码:" + this.zip_code ;
}
}
//人
class person <T1 extends info>
{
private T1 info;
public person(T1 info){ // 通过构造方法设置信息属性内容
this.setInfo(info);
}
public void setInfo(T1 info)
{
this.info = info;
}
public T1 getinfo()
{
return this.info;
}
public String toString(){ // 覆写Object类中的toString()方法
return this.info.toString() ;
}
}