目录
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 无限制
指定了没有限制的泛型类型
区别于Object
1.4 泛型的作用
提高代码的复用率
类型在使用时绑定,无序强制类型转换
总结
本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注的更多内容!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)