本帖最后由 万章云 于 2012-5-19 10:53 编辑
如果类的实例对象中的多处都要用到同一个泛型参数,即这些地方引用的泛型要保持同一个实际类型时,就要采用泛型类型的方式进行定义,也就是类级别的泛型,语法格式为:
public class GenericDao<T>{
private T field1;
public void save(T obj){}
public T getById(int id){}
}
当一个变量被申明为泛型时。只能被实例变量法和方法调用(还有内部嵌套类型),而不能被静态变量和静态方法调用,因为静态成员是被所以参数化的类所共享的,所以静态成员不应该有类级别的类型参数
上面是张老师总结的原话,看了之后,我相信,你会明白为什么程序不能运行
改成下面的,编译能完成
public class Singleton <T>
{
public T getSingleInstance(int id)
{
return singleInstance;
}
private T singleInstance;
}
|