好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

深入了解Java核心类库--泛型类

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 泛型的作用

提高代码的复用率 类型在使用时绑定,无序强制类型转换

 

总结

本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注的更多内容!

原文链接:https://blog.csdn.net/m0_50609545/article/details/117764698

查看更多关于深入了解Java核心类库--泛型类的详细内容...

  阅读:12次