Java 5.0 泛型之 通过泛型方法返回泛型类型
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类中的toString()方法
return this.var.toString();
}
}
public class GenericsDemo27 {
public static void main(String args[]) {
Info27<Integer> i = fun(30);
System.out.println("Value Of Number : " + i.getVar());
}
public static <T extends Number> Info27<T> fun(T param) { // 方法中传入或返回的泛型类型由调用方法时所设置的参数类型决定
Info27<T> temp = new Info27<T>(); // 根据传入的数据类型实例化Info
temp.setVar(param); // 将传递的内容设置到Info对象的var属性之中
return temp; // 返回实例化对象
}
}
相关文档:
StringBuffer也是字符串,与String不同的是StringBuffer对象创建完之后可以修改内容。有如下构造函数:
n public StringBuffer(int);
n public StringBuffer(String);
n ......
栈与堆都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。
Java的堆是一个运行时数据区,类的(对象从中分配空间。这些对象通过new、newarray、anewarray和multianewarray等指令建立,它们不需要程序代码来显式的释放。堆是由垃圾回收来负责的,堆的优势是可以动态地分配内存 ......
通过Java反射调用方法
这是个测试用的例子,通过反射调用对象的方法。
TestRef.java
import java.lang.reflect.Method;
import java.lang.reflect.InvocationTargetException;
/**
* Created by IntelliJ IDEA.
* File: TestRef.java
* User: leizhimin
* Date: 2008-1-28 14:48:44 ......