一、什么是泛型???
我们之前实现过的顺序表,只能保存 int 类型的元素,如果现在需要保存 指向 Person 类型对象的引用
的顺序表,请问应该如何解决?如果又需要保存指向 Book 对象类型的引用呢?
1. 首先,我们在学习多态过程中已知一个前提,基类的引用可以指向子类的对象。
2. 其次,我们也已知 Object 是 java 中所有类的祖先类
二、泛型的意义
2.1、自动对类型进行检查
2.2、自动对类型进行强制类型转换
2.3、泛型中尖括号的内容 ,不参与类型的组成
三。面试问题(泛型是怎么编译的)
class MyArrayList<E> {
public E[] elem;
public int usedSize;
public MyArrayList() {
this.elem = (E[]) new Object[10];//(这是不正确的写法,要用反射机制)
}
public void add(E val){
this.elem[usedSize] = val;
usedSize++;
}
public E get(int pos){
return this.elem[pos];
}
}