0
点赞
收藏
分享

微信扫一扫

57.方法中返回值位置带有泛型<占位符>,与不带有的区别

七公子706 2022-01-09 阅读 61

方法中返回值位置带有泛型<占位符>,与不带有的区别

public class Test<T>{
    //构造方法
    public Test(){}
    //方法返回值位置没有泛型<T>,说明这个泛型就要收到类或者接口泛型位置的统一安排
    //如果类或者接口中类名||接口名后面没有带有<T>,则方法中就必须带有
    public T test1(T t){
        return t;
    }
    //如果方法中返回值的位置中有带有 <T>,说明这个方法的泛型是独立的
    //完全不受这个类的泛型影响,完全可以取和这个类泛型不一致的数据类型
    //此方法不受类或接口泛型的统一安排
    public <T> T test2(T t){
        return t;
    }
    //同样道理:静态成员方法
    //因为静态成员方法的泛型不受类的泛型影响,静态成员方法是独立的
    //所以在静态方法参数带有 T 的返回值类型位置 必须加 <T>
    public static <T>T test3(T t){
        return t;
    }
}
举报

相关推荐

0 条评论