目录
1.1 泛型的使用1.1.1 泛型类1.1.2 泛型接口1.1.3 泛型方法1.1.4 tips 1.2 泛型限制类型1.3 通配符?1.3.1 上界限定1.3.2 下届限定1.3.3 无限制1.4 泛型的作用总结1.1 泛型的使用
泛型:参数化模型(不确定,后续使用时指定类型)
1.1.1 泛型类
1.1.2 泛型接口
实现接口时,可以选择或不选择指定泛型类型public interface IntercaceName<T>{ T getData(); }
①指定类型
public class Interface1 implements IntercaceName<String> { private String text; @Override public String getData() { return text; } }
②不指定类型
public class Interface1<T> implements IntercaceName<T> { private T data; @Override public T getData() { return data; } }
1.1.3 泛型方法
private static T 方法名(T a, T b) { }
方法仅在方法内部有效
1.1.4 tips
编译之后程序会采取去泛型化措施(泛型只在编译阶段有效) 运行时对传入的对象进行相应类型的生成,即对象进入和离开方法的边界处添加类型检查和类型转换的方法(泛型不进入运行阶段)1.2 泛型限制类型
在使用泛型时, 可以指定泛型的限定区域 必须是某某类的子类或 某某接口的实现类,格式:<T extends 类或接口1 & 接口2>
1.3 通配符?
1.3.1 上界限定
指了泛型类型的上届(限定了父类)< ? extends Parent>
1.3.2 下届限定
指定了泛型类型的下届(限定了子类)<? super Child>
1.3.3 无限制
指定了没有限制的泛型类型 区别于Object1.4 泛型的作用
提高代码的复用率 类型在使用时绑定,无序强制类型转换总结
本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注的更多内容!