0
点赞
收藏
分享

微信扫一扫

JAVA-泛型

皮皮球场 2022-02-12 阅读 55


```java
package fanxing;

import java.util.ArrayList;
import java.util.List;

public class TestFanxin {

//    /**
//     * 1.? 无边界限定符 ? extends T 上边界限定符  ? super T 下边界限定符
//     * 2. T 表示确切的类型, ? 表示类型不确定  T 可以用于泛型类或者泛型方法定义 ? 不可以, T 只能extends 可以extends 多个接口,不能super,? 可以单个extend,可以super
//     * 3. 上读下写 上边界可读不能写,下边界可写但是不能读
//     * @param args
//     */

    public static void main(String[] args) {
        List<? extends Fruit> fruitList1 = new ArrayList<>();
        List<? super Fruit> fruitList2 = new ArrayList<>();
        List<Apple> appleList = new ArrayList<>();
        List<Fruit> fruitList = new ArrayList<>();
        List<Food> foodList = new ArrayList<>();
        Apple a = new Apple();
        Banana b = new Banana();
        Fruit fruit = new Fruit();
        Food food = new Food();
        Meet m = new Meet();
        fruitList2.add(a);
        fruitList2.add(b);
        fruitList2.add(fruit);
        fruitList1 = appleList;
        fruitList1 = fruitList;
//        Fruit f = fruitList1.get(0);
        Fruit f2 =(Fruit) fruitList2.get(0);
        System.out.println(f2);

    }
}


class Food {}

class Meet extends Food{}

class Fruit extends Food{}

class Beef extends Meet{}

class Apple extends Fruit{}

class Banana extends Fruit{}


举报

相关推荐

0 条评论