Java 5.0 泛型之 使用泛型统一传入的参数类型
package Demo;
// 使用泛型统一传入的参数类型
class Info28<T> {
private T var; // 此类型由外部决定
public T getVar() {
return this.var;
}
public void setVar(T var) {
this.var = var;
}
public String toString() { // 覆写Object类中的toString()方法
return this.var.toString();
}
}
public class GenericsDemo28 {
public static void main(String args[]) {
Info28<String> i1 = new Info28<String>();
Info28<String> i2 = new Info28<String>();
i1.setVar("99"); // 设置内容
i2.setVar("it"); // 设置内容
add(i1, i2);
}
public static <T> void add(Info28<T> i1, Info28<T> i2) {
System.out.println(" Key Of String : " + i1.getVar()
+ " / Value Of String : " + i2.getVar());
}
}
相关文档:
一:准备 www.savarese.org download
1. rocksaw-1.0.0-src.tar.gz
2. vserv-tcpip-0.9.2-src.tar.gz
二:编译源文件得到jar包 使用Ant
1. build vserv-tcpip-0.9.2-src
在vserv-tcpip-0.9.2目录下面建一个tests目录,然后在cmd窗口下进入 ......
在初始化一个类,生成一个实例的时候,newInstance()方法和new关键字除了一个是方法,一个是关键字外,最主要有什么区别?它们的区别在于创建对象的方式不一样,前者是使用类加载机制,后者是创建一个新类。那么为什么会有两种创建对象方式?这主要考虑到软件的可伸缩、可扩展和可重用等软件设计思想。
......
package Demo;
// 受限泛型
class Info17<T> {
private T var; // 定义泛型变量
public void setVar(T var) {
this.var = var;
}
public T getVar() {
return this.var;
}
public String toString() { // 直接打印
return this.var.toString();
}
}
public class GenericsDemo17 {
publ ......
package Demo;
// 通过泛型方法返回泛型类型
class Info27<T extends Number> { // 指定上限,只能是数字类型
private T var; // 此类型由外部决定
public T getVar() {
return this.var;
}
public void setVar(T var) {
this.var = var;
}
public String toString() { // 覆写Object类中的toStr ......