JAVA 泛型对象数组(本来想玩泛型随机流泛型对象数组在加点类集的综合程序)
2011-12-02 18:50
316 查看
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() ;
}
}
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() ;
}
}
相关文章推荐
- Java:IO流其他类(字节数组流、字符数组流、数据流、打印流、Properities、对象流、管道流、随机访问、序列流、字符串读写流)
- 综合应用题:投票程序(知识点:对象,数组,循环,流,工具类的应用)
- [Java] 用泛型数组实现基于控制台的航班信息查询|增添程序
- Java的继承(继承、多态、动态绑定、静态绑定、泛型数组、对象包装器的自动装箱与自动拆箱)
- Java学习note 数组,String,面向对象综合
- JAVA基础 day23 IO流的其他类 (对象的序列化 管道流 RandomAccessFile类(随机读取文件) DateStream(操作基本数据类型的流) 操作数组的流 )字符编码问题
- java小程序——给数组随机赋值,查找输入的值以及冒泡和选择排序数组并输出
- Json传对象数组到后台并转化成Java对象数组
- Spring 框架下,用数组作为参数 传入到 存储过程,或存储过程返回动态数组到java程序 ,BLOB等大对象类似
- java中从一个对象数组中删除元素和判断对象数组存了几个元素的方法
- java 泛型知识点综合 之 示例程序
- java笔试题---程序产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复。
- Java学习笔记之输入输出流(二) 缓冲流、随机流、数组流、数据流、对象流
- Core Java(十三) 泛型数组列表,对象包装器与自动打包,枚举类
- java拼图--面向对象实现+数组实现。
- java数组对象的浅层复制与深层复制
- Java 泛型 五:泛型与数组
- java 数组对象
- Java学习笔记一:基本语法:类和对象的介绍、数组、引用类型
- 改善java程序之数组和集合1