定义和使用含有泛型的方法和接口
定义和使用含有泛型的方法
定义含有泛型的方法:泛型定义在方法的修饰符和返回值类型之间
格式:
修饰符<泛型>返回值类型方法名(参数列表(使用泛型)){
方法体;
}
含有泛型的方法,在调用方法的时候确定泛型的数据类型
传递什么类型的参数,泛型就是什么类型
public static void main(String[] args) { mehtod01(100); mehtod01("字符串"); mehtod01(5.5); mehtod01('a'); } //定义一个含有泛型的方法 public static <M> void mehtod01(M m){ System.out.println(m); }
运行结果:

定义和使用含有泛型的接口
第一种使用方式:定义接口的实现类,实现接口,指定接口的泛型
public interface GenericInterface<I> { public abstract void method(I i); }
/** * 含有泛型的接口,第一种使用方式:定义接口的实现类,实现接口,指定接口的泛型 */ public class GenericInterfaceImpl implements GenericInterface<String>{ @Override public void method(String s) { System.out.println(s); } }
public class DemoGenericInterface { public static void main(String[] args) { GenericInterfaceImpl genericInterface = new GenericInterfaceImpl(); genericInterface.method("abc"); } }
第二种使用方式:接口使用什么泛型,实现类就是使用什么泛型,类跟着接口走
就相当于定义了一个含有泛型的类,创建对象的视乎确定泛型的类型
public interface GenericInterface<I> { public abstract void method(I i); }
/** * 含有泛型的接口,第二种使用方式:接口使用什么泛型,实现类就是使用什么泛型,类跟着接口走 * 就相当于定义了一个含有泛型的类,创建对象的视乎确定泛型的类型 */ public class GenericInterfaceImpl2<I> implements GenericInterface<I>{ @Override public void method(I i) { System.out.println(i); } }
public class DemoGenericInterface { public static void main(String[] args) { GenericInterfaceImpl2<String> impl2 = new GenericInterfaceImpl2<>(); impl2.method("张三"); GenericInterfaceImpl2<Integer> impl3 = new GenericInterfaceImpl2<>(); impl3.method(50); } }

浙公网安备 33010602011771号