请教各位大侠  public <U> Class<? extends U> asSubclass(Class<U> clazz)   这是Class类里面一个方法的声明,感到有些困惑,这个方法有了返回类型Class<? extends U>,那它前面的<U>是什么意思啊!

解决方案 »

  1.   


    java的方法声明里面不是应该修饰符+返回类型+方法名+参数吗?怎么多了这么一个类型出来啊!实在不解,能说详细点吗?
      

  2.   


    public class Type1<E> { ... }这里的泛型声明 E 作用于整个 Type1 类,这种你可能见过吧,语法上泛型声明要写在类名后面public class Type2 {  public static <E> void method1(E parameter) { ... }  public <T> T method2() { ... }
    }这里的泛型声明作用于方法,跟前面那个没有什么不同,语法上泛型声明要写在返回类型前面