JAVA Day24

JAVA Day24

泛型

  1. 目的:为了避免在有类型转换的程序运行时出现ClassCastException异常。
  2. 优点:编译期间检查类型;减少了数据类型转化。
  3. 本质:将类型参数化。
  4. 将所需的数据类型传入<>中,从而影响该类中可能用到的方法,变量等。
  5. 注意事项

泛型类简单的应用

package generic;

import java.util.ArrayList;
import java.util.Random;

public class Demo01 {
    public static void main(String[] args) {
        ProductGetter<String> stringProductGetter = new ProductGetter<>();
        String[] strProduct = {"A","B","C","D"};
        for (int i = 0; i < strProduct.length; i++) {//把奖品放入奖池
            stringProductGetter.addProduct(strProduct[i]);
        }
        String product1 = stringProductGetter.getProduct();
        System.out.println(product1);
        System.out.println("------------------");
        ProductGetter<Integer> integerProductGetter=new ProductGetter<>();
        int[] intProduct = {200,500,1000,3000};
        for (int i = 0; i < intProduct.length; i++) {
            integerProductGetter.addProduct(intProduct[i]);
        }
        int product2 = integerProductGetter.getProduct();
        System.out.println(product2);
    }
}
class ProductGetter<T>{
    Random random = new Random();
    private T product;//奖品
    ArrayList<T> list =new ArrayList<>();//奖池
    public void addProduct(T t){//添加奖品
        list.add(t);
    }
    public T getProduct(){//抽奖
        product = list.get(random.nextInt(list.size()));//nextInt(n)生成到n之间的一个随机整数
        return product;
    }
}

泛型类派生子类

  1. 在创建子类对象时会先创建一个父类,若子类和父类的类型参数不一致则不符合要求,故子类和父类的泛型类型要一致。
  2. 若子类需要声明多个类型参数,父类应至有一个泛型类型参数与子类相同。
posted @ 2021-07-14 23:41  别来无恙。。  阅读(38)  评论(0)    收藏  举报