获取类的Class 方法:
1) Class c1=类名.class;
2) Class c2=Class.forName(类的全名的字符串参数);
3.) A t=new A();
Class.c3=t.getClass();
泛型常见错误类型:
1) 不能直接new一个泛型类型的对象 如 T a=new T();
因为编译器不知道泛型类型T是什么类型
2) 不能直接new一个泛型类型的数组 如 T[ ] arr=new T[5]; 同理
3) 不能定义泛型类型的数组 如 Generic<long>[ ] g3=new Generic<long>[5];
因为数组之间也遵循继承关系, Object[ ]=g3,不能保证类型
4) 泛型代码需要检查是否制定上界
5) static 方法不能使用泛型类型定义泛型参数 T 静态方法用类名调用,不能加具体的类型 Generic.sumFunc(intArray);
6) 两个引用类型互为继承关系,基类可以引用子类对象,但作为实例泛型类型,就不能继承
泛型只有上界,而通配符(?)既有上界又有下界,上界 用extends 用来读,下界用 super 用来写