JAVA 泛型对象数组(本来想玩泛型随机流泛型对象数组在加点类集的综合程序)

来源:互联网 发布:java类 编辑:程序博客网 时间:2024/04/29 15:21
 

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() ;
 }
}

原创粉丝点击