范型在java中的应用

      根据泛型在java中的不同位置,大致可以分为类泛型、方法泛型和接口泛型。以下三个Demo基本展现三种泛型的用法,其中接口泛型又分两种情况描述。
类泛型和方法泛型

 1 import java.util.ArrayList;
 2 
 3 //类泛型
 4 class DemoClass<T> {
 5     public void method(T t) {
 6         System.out.println(t);
 7     }
 8 }
 9 
10 class ClassDemo {
11     //方法泛型
12     public static <E> void Method(E e) {
13         System.out.println(e);
14     }
15 }
16 
17 public class TriggerPrint {
18     public static void main(String[] args) {
19         DemoClass<String> dc1 = new DemoClass<>();
20         dc1.method("泛型类示例");
21         DemoClass<Double> dc2 = new DemoClass<>();
22         dc2.method(3.1415926);
23         // ---------------------------------------
24         String s = "泛型方法示例";
25         ClassDemo.Method(s);
26         ArrayList<Integer> it = new ArrayList<>();
27         it.add(10);
28         it.add(11);
29         it.add(12);
30         ClassDemo.Method(it);
31     }
32 }


接口泛型

 1 //接口泛型
 2 //第一种情况,实现的时候知道具体类型。
 3 interface ModeClass<E> {
 4     public abstract void show(E e);
 5 }
 6 
 7 public class Demo implements ModeClass<String> {
 8     public static void main(String[] args) {
 9     }
10 
11     public void show(String s) {
12     }
13 }
 1 //第二程情况,实现的时候依然不知道具体类型,创建对象时才知道具体类型。
 2 //ArrayList实现List接口
 3 interface ClassDemo<E> {
 4     public abstract void method(E e);
 5 }
 6 
 7 class DemoClass<E> implements ClassDemo<E> {
 8     public void method(E e) {
 9         System.out.println(e);
10     }
11 }
12 
13 public class Demo {
14     public static void main(String[] args) {
15         DemoClass<String> d = new DemoClass<String>();
16         d.method("HelloWorld");
17     }
18 }
原文地址:https://www.cnblogs.com/magics/p/3633362.html