泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到⾮法的类型。泛型的本
质是参数化类型,也就是说所操作的数据类型被指定为⼀个参数
1.泛型使⽤
泛型方法
public static < E > void printArray( E[] inputArray ){
for ( E element : inputArray ){
System.out.printf( "%s ", element );
}
}
<? extends T>表示该通配符所代表的类型是 T 类型的⼦类
<? super T>表示该通配符所代表的类型是 T 类型的⽗类
泛型类
泛型类的声明和⾮泛型类的声明类似,除了在类名后⾯添加了类型参数声明部分。和泛型⽅法⼀
样,泛型类的类型参数声明部分也包含⼀个或多个类型参数,参数间⽤逗号隔开
下面表示T类型的参数R
2.面试题
2.1 接口和抽象类的区别?
接口是行为的抽象,是编码的规范。抽象类是类共性的抽象,实现代码的复用。
1.接口和抽象类都不能实例化
2.接口的属性都是public static,抽象类可以随意指定属性
3.抽象类可以有抽象方法和非抽象方法,接口只能有抽象方法,Java8以后可以有default方法,可以存在方法的实现