Java多态与泛型

一、多态理解
1、判断是否是同一个函数,通过唯一性标识(方法名+参数(顺序、数量、类型一致))
2、重载:参数 与 父类 不同
重写(覆盖):方法名+参数 与 父类 相同
3、多态分为编译时多态(重载)和运行时多态(重写、覆盖)。因为重载是不同的方法,编译器能编译的时候就确定是否调用该方法;而对于重写,只有在创建出由父类引用指向子类实例时候,才会知道调用的是哪个方法。
4、多态只是针对方法的多态,属性没有多态。
5、方法中被private、final、static修饰的方法会被关闭多态。
6、运行时多态的必要条件就是存在继承关系与向上转型

二、泛型理解
1、引入泛型主要作用就是为了安全,在编译时就发现类型转换时的错误,增加编译时类型检查,从而不把错误带到运行阶段;其次,可以实现代码的复用
2、泛型通过编译器类型擦除实现
3、泛型指定的类不具有继承关系
4、泛型典型例子:Collection中的Iterator

三、多态与泛型关系
定义的层面不一样:多态是基于继承关系,根据传入参数或者运行时的关系确定行为;而泛型是使用这个泛型类的时候再去确定这个类里面的成员具体是什么类型

猜你喜欢

转载自blog.csdn.net/zyd196504/article/details/82866495