泛型类与方法混合使用,及静态方法使用泛型

## 泛型类 与泛型方法 混合使用

## 静态方法 与 泛型

package javabasis.fanxing;

import org.junit.Test;

/*

  • 泛型类与泛型方法的混合使用
    1. 泛型类对应的方法 及 泛型方法区别
    1. 参数定义名称
    1. 静态方法使用泛型
  • */
    class FanXingClassAndMethod {

    private T param;

    public FanXingClassAndMethod(T param) {
    this.param = param;
    }

    //泛型类中的方法,非泛型方法
    public T getParam11(T param) {
    this.param = param;
    return param;
    }

    //泛型方法
    public T getParam21(T param) {

      return param;

    }

    //此方法用于对比, 编译器直接会报异常,因为此方法是依附于泛型类定义的,没有K类型,只有T类型
    // public K getParam12(K param) {
    // return param;
    // }

    //泛型方法 可以定义K不受泛型类影响
    public K getParam22(K param) {

      return param;

    }

    //静态方法 使用泛型,只能声明为泛型方法,无法依托于泛型类,因为静态方法早于类编译
    public static T staticMethod(T param) {
    return param;
    }
    }

public class NO3FanXing1 {

@Test
public void test() {
    /*
    * 1. 泛型类中的方法与 泛型方法比较
    * */

    FanXingClassAndMethod<Integer> fanXingClassAndMethod = new FanXingClassAndMethod<>(456);
    //泛类中的方法,类型限制为Integer,无法是String
    fanXingClassAndMethod.getParam11(454545);

// fanXingClassAndMethod.getParam11("dsfadfsf");

    //泛型类方法则不受限制
    fanXingClassAndMethod.getParam21("123123213");

}

}

转载于:https://www.cnblogs.com/yaoxublog/p/10944608.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值