Java泛型-泛型应用实例

/*
一个人的信息分为:基本信息,和联系方式;
实现一个类既能操作人的基本信息,又能操作联系方式;
*/
package com.mldn;
interface Info // 表示人的各种信息
{
// 空实现的接口 称为 标识接口;
}
class Whois implements Info // 人的基本信息
{
private String name;
private int age;
public Whois()
{
super(); // 默认
}
public Whois(String name, int age)
{
super(); // 明确调用Object的默认构造
this.name = name;
this.age = age;
}
public String getName()
{
return this.name;
}
public void setName(String name)
{
this.name = name;
}
public int getAge()
{
return this.age;
}
public void setAge(int age)
{
this.age = age;
}
public String toString() // 覆写父类的方法
{
return “姓名:” + this.name + ” 年龄:” + this.age;
}
}
class Contact implements Info // 表示联系方式
{
private String address;
private String zipCode;
public Contact()
{
super();
}
public Contact(String address, String zipCode)
{
this.address = address;
this.zipCode = zipCode;
}
public String getAddress()
{
return this.address;
}
public void setAddress(String address)
{
this.address = address;
}
public String getZipCode()
{
return this.zipCode;
}
public void setZipCode(String zipCode)
{
this.zipCode = zipCode;
}
public String toString() // 覆写父类方法
{
return “地址:” + this.address + ” 区号:” + this.zipCode;
}
}
class Person
{
private T info;
public Person(T info)
{
this.info = info;
}
public T getInfo()
{
return this.info;
}
public void setInfo(T info)
{
this.info = info;
}
}
public class GenPersonInfo
{
public static void main(String[] args)
{
String name = “张三”;
int age = 30;
Person
perWhois.setInfo(new Whois(name, age)); // 给实例赋值
System.out.println(perWhois.getInfo());
String address = “北京”, zipCode = “10000”;
Person
perContact.setInfo(new Contact(address, zipCode));
System.out.println(perContact.getInfo());
}
}
/*
administrator@xu-desktop:~$ javac -d . ./work/GenPersonInfo.java
administrator@xu-desktop:~$ java com.mldn.GenPersonInfo
姓名:张三 年龄:30
地址:北京 区号:10000
*/
声明: 除非转自他站(如有侵权,请联系处理)外,本文采用 BY-NC-SA 协议进行授权 | 嗅谱网
转载请注明:转自《Java泛型-泛型应用实例》
本文地址:http://www.xiupu.net/archives-64.html
关注公众号:
微信赞赏
支付宝赞赏
