您的位置:首页 > 其它

泛型子类获取父类的模板类型方法

2015-03-05 10:59 330 查看
package com.zjh.test;

import java.lang.reflect.ParameterizedType;

import java.lang.reflect.Type;

import org.junit.Test;

abstract class BaseDao <T>{

    public void getType(){

        //获取父类类型

        Type t = getClass().getGenericSuperclass();  

        //强制转换为泛型类型

        ParameterizedType p = (ParameterizedType) t ;  

        //获取泛型中类型变量

        System.out.println(p.getActualTypeArguments()[0]);

        System.out.println(p.getOwnerType());

        //获取申明的原始类型,即擦除后的类型

        System.out.println(p.getRawType());

    }

}

public class SubDao extends BaseDao<String> {

    @Test

    public void test1(){

        getType();

    }

 }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: