我读过关于为什么不能在泛型类中使用(编辑 - 泛型)(使用通用类中的类型参数)静态方法的文章,但为什么你可以在非泛型类中使用静态泛型方法?我没有看到第二个被允许的原因,但我有点理解为什么第一个不是。(Java)静态通用方法与泛型类静态方法
0
A
回答
9
为什么你不能有一个(编辑 - 通用)(其使用这种类型的参数从通用类)静态方法在泛型类
这样做的原因很简单:类型参数与类别不相关,但与类别实例相关联。
即,你不能这样做
class Test<T> {
public static void sayHello(T t) { // T for which instance?!
System.out.println("Hello");
}
}
为什么你再使用非通用类的静态泛型方法?
为什么不呢?一个通用的方法需要的类型参数,所以如果它是静态的或没有,或者如果它是在类是通用的或不等等
例如,这罚款编译没关系:
class Test {
public static <T> void sayHello(T t) {
System.out.println("Hello " + t);
}
}
而且你会这样调用方法:
Test.<String>sayHello("some argument");
^^^^^^^^
type parameter provided at the method-call: no instance required.
相关问题
- 1. 泛型方法:静态与非静态
- 2. 静态泛型方法的类 - Java的
- 3. Java:泛型方法只与静态?
- 4. 静态方法的泛型
- 5. 泛型和静态方法
- 6. 静态方法中的泛型类型
- 7. Java泛型,单例和静态方法
- 8. Java中,泛型和静态方法
- 9. 静态类/方法this和泛型
- 10. 静态方法重载与泛型
- 11. Java - 通用静态方法
- 12. 与通用paramerter转换静态方法泛型类
- 13. 通过静态反射信息静态泛型方法
- 14. 通用静态方法类型
- 15. 从泛型调用静态方法
- 16. Java到C#/静态方法与非类型通用类参数
- 17. Java类和静态方法
- 18. Java静态方法+类
- 19. 调用动态类型的非静态泛型方法
- 20. Java:静态方法与非静态方法
- 21. 泛型类或非泛型类的静态工厂方法?
- 22. Java静态方法
- 23. Java静态方法
- 24. Java错误:静态方法无法引用非静态方法
- 25. 从静态基类方法调用静态派生类方法
- 26. 调用静态类的方法传递动态变量的类型与泛型
- 27. 如何在类中为泛型类型调用静态方法?
- 28. java中的静态方法可以调用非静态方法
- 29. 静态静态方法?
- 30. 静态类和静态方法
你的意思是抽象的吗? – 2012-03-18 21:28:34
我编辑了这个问题,sry回合。 – rubixibuc 2012-03-18 21:55:18