1、泛型
1、编译时干的事,用具体的类型代替泛化的类型。
2、和类的创建没关系,就是相当于存在类里的一个信息(或者说一个属性)。
3、有的泛型声明在类上,有的泛型声明在方法上,作用域不同。
4、在继承的时候使用泛型有两种方式:
- 要么在子类中也声明泛型,
public class Generic<T> extends A<T> - 要么在子类中将泛型写成具体类型,
public class Generic extends A<具体类型>
(在继承中使用泛型的意义是:在子类中才使类型得到具体化,使父类的代码更加通用)
5、A<T>应该如何理解(可以理解成:这里的<T>不是区分类型的,而是区分实例的):
6、A<user>和A<book>是一个类(类型擦除),不过Spring的“泛型依赖注入”(@Autowire)可以根部泛型的不同的具体类型实现不同的注入。A<user>调用A<user> 的方法,A<book>调用A<book>的方法。
2、反射
运行时干的事,
- 对于任意一个类,知道这个类有哪些属性和方法
- 对于任意一个对象,调用它的任意一个方法
Java反射机制主要提供了以下功能:
* 1.在运行时判断任意一个对象所属的类。
* 2.在运行时构造任意一个类的对象。
* 3.在运行时判断任意一个类所具有的成员变量和方法。
* 4.在运行时调用任意一个对象的方法。
本文深入探讨了泛型的概念及应用,包括编译时如何用具体类型替换泛化类型,以及在继承过程中如何利用泛型使代码更具通用性。同时,文章详细介绍了Java反射机制的功能,如运行时如何获取类的属性和方法,以及如何调用对象的方法。
2254

被折叠的 条评论
为什么被折叠?



