java泛型该如何深继承 & 如何获得数组的class对象
java泛型该怎么深继承 & 怎么获得数组的class对象
1、在我的用例场景里,泛型作为我的父类方法在派生继承时动态更变方法签名的手段,像下面这样:
问题是,怎么从子类C派生一个新的类,能像下面这样定义?(每个类均只有一个method方法,不重载)
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();

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