java泛型该如何深继承 & 如何获得数组的class对象

java泛型该怎么深继承 & 怎么获得数组的class对象
本帖最后由 u011088871 于 2014-07-23 09:58:58 编辑
1、在我的用例场景里,泛型作为我的父类方法在派生继承时动态更变方法签名的手段,像下面这样:

abstract class A <Type extends Object>{
    abstract void method(Type m);
}
class B extends A<Integer>{
    void method(Integer m){...}
}
class C extends A<CharSequence>{
    void method(CharSequence m){...}
}

问题是,怎么从子类C派生一个新的类,能像下面这样定义?(每个类均只有一个method方法,不重载)

class C2 extends C<String>{
    void method(String m){...}
}


2、一般类的class用 A.class 获取,基本数据类型的class用 Integer.TYPE 得到,但是数组的应该怎么在不实例化的情况下获取到对应的class?
------解决方案--------------------
1. 还是有点不理解

2.  Class<?> clazz = int[].class;//这样可以的
------解决方案--------------------
1,个人认为是可以的
2,1L说的对。
    获取class对象有三种方法
      a. Class.forName("类名");
      b.类名.class;
      c.这个类的实例.getClass();
java泛型该如何深继承 & 如何获得数组的class对象


------解决方案--------------------
你是想让子类的泛型类型,与父类的泛型类型间产生关联关系是吧?
这个应该是不行的。泛型功能只是将运行期类型检查提前到编译期,在本类内部的方法中做类型检查。