自定义泛型
* 自定义泛型类 public class 类名<数据类型> {}
* 自定义泛型方法 public <数据类型> 返回值类型 方名称(数据类型 变量名) {}
* 自定义泛型接口 public interface 接口<数据类型> {}
public class Demo_Generic { /** * * A:泛型接口概述 * 把泛型定义在接口上 * B:定义格式 * public interface 接口名<泛型类型> * C:案例演示 * 泛型接口的使用 */ public static void main(String[] args) { } } interface Inter<T> { public void show(T t); } /*class Demo implements Inter<String> { //推荐用这种 @Override public void show(String t) { System.out.println(t); } }*/ class Demo<T> implements Inter<T> { //没有必要在实现接口的时候给自己类加泛型 @Override public void show(T t) { System.out.println(t); } }
自定义泛型: 自定义泛型可以理解为是一个数据类型的占位符,或者是理解为是一个数据类型的变量。
泛型方法:
泛型方法的定义格式:
修饰符 <声明自定义泛型>返回值类型 函数名(形参列表..){
}
注意:
- 在方法上的自定义泛型的具体数据类型是调用该方法的时候传入实参的时候确定的。
- 自定义泛型使用的标识符只要符合标识符的命名规则即可。
- 在类上自定义的泛型的具体数据类型是在创建对象的时候指定的。
- 在类上自定义了泛型,如果创建该类的对象时没有指定泛型的具体类型,那么默认是Object类型。
- 在接口上自定义泛型的具体数据类型是在实现该接口的时候指定的。
- 如果一个接口自定义了泛型,在实现该接口的时候没有指定具体的数据类型,那么默认是Object数据类型。