栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java学习

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java学习

P568 泛型与File-自定义泛型类举例
package com.generic;

public class SubOrder1 extends Order{

}
package com.generic;

public class SubOrder extends Order{
}
package com.generic;


public class Order {
    String orderName;
    int orderId;

    // 类的内部结构就可以使用类的泛型
    T orderT;
    public Order(){};

    public Order(String orderName, int orderId, T orderT) {
        this.orderName = orderName;
        this.orderId = orderId;
        this.orderT = orderT;
    }

    public String getOrderName() {
        return orderName;
    }

    public void setOrderName(String orderName) {
        this.orderName = orderName;
    }

    public int getOrderId() {
        return orderId;
    }

    public void setOrderId(int orderId) {
        this.orderId = orderId;
    }

    public T getOrderT() {
        return orderT;
    }

    public void setOrderT(T orderT) {
        this.orderT = orderT;
    }
}
package com.generic;

import org.junit.Test;

public class GenericTest1 {
    @Test
    public void test1(){
        // 如果定义了泛型,但实例化没有指明类型,那此泛型类型为Object类型(不建议)
        Order order = new Order<>("orderAA",123,"AA");
        order.setOrderT("AA:Hello");
    }

    @Test
    public void test2(){
        SubOrder sub1 = new SubOrder();
        // 由于子类在继承带泛型的父类时,指明了泛型类型。则实例化子类对象时,不再需要指明泛型。
//        sub1.setOrderT();
    }
}
P569 泛型与File-自定义泛型类泛型接口的注意点
    @Test
    public void test3(){
        ArrayList list1 = null;
        ArrayList list2 = null;
//        list1 = list2;
    }

    // 静态方法中不能使用类的泛型
    // 异常类不能声明为泛型类
P570 泛型与File-自定义泛型方法举例
    // 泛型方法可声明为静态的
    @Test
    public void test4(){
        Order order = new Order<>();
        Integer[] arr = new Integer[]{1, 2, 3, 4};
        // 泛型方法的调用
        List list = order.copyFromArrayTolist(arr);
    }
    // 泛型方法,在方法中出现了泛型结构,泛型参数与类的泛型参数没有任何关系
    public  List copyFromArrayTolist(E[] arr){
        ArrayList list = new ArrayList<>();
        for (E e : arr) {
            list.add(e);
        }
        return list;
    }
P571 泛型与File-举例泛型类和泛型方法的使用情景
// 操作数据库场景
P572 泛型与File-泛型在继承方面的体现
package com.generic;

import org.junit.Test;

import java.util.List;


public class GenericTest2 {
    @Test
    public void test1(){
        Object obj = null;
        String str = null;

        obj = str;

        Object[] arr1 = null;
        String[] arr2 = null;
        arr1 = arr2;

        List list1 = null;
        List list2 = null;
        // 没有子父类关系
//        list1 = list2;
    }
    
}


转载请注明:文章转载自 www.mshxw.com
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号