【泛型】泛型方法

泛型只涉及到某个方法中的参数声明时,使用泛型方法而不是泛型类。

定义:

不仅类可以声明泛型,类中的方法也可以声明仅用于自身的泛型,这种方法叫做泛型方法。泛型可用于返回类型声明,参数类型声明,局部变量的类型声明

格式:

访问修饰符<泛型列表> 返回类型 方法名(参数列表){
    实现代码
}

静态方法:

施加类型约束的方法伪静态方法,只能将其定义为泛型方法,因为静态方法不能使用期所在类的类型参数。

Code Deomo

package Genericity;

public class GenericDemo4 {

    public static void main(String[] args) {
        //定义了泛型类的实例gen,gen的方法就只是使用定义的数据类型
        /*GenericClass2<String> gen=new GenericClass2<String>();
        gen.println("abc");*/
        GenericClass2 gen=new GenericClass2();
        //泛型定义在方法中,可以随意输出指定的类型数据
        gen.println("ABC");
        gen.println(100);
        gen.println(true);
        gen.println(new Dog());
        gen.println(new Cat());
        GenericClass2.print("content for static method");
    }

}

class GenericClass2/*<T>*/{
    //泛型类定义的泛型会把方法引用的类型写死
    /*public void println(T content){
        System.out.println(content);
    }
    */
    //类型的定义放在方法上
    public <T> void println(T content){
        System.out.println(content);
    }
    //泛型方法的重载
    public <T extends IAnimal> void println(T animal){
        animal.eat();
    }
    public static <T> void print(T content){
        System.out.println(content);
    }
}


interface IAnimal{
    public abstract void eat();
}

class Dog implements IAnimal{
    public void eat(){
        System.out.println("eating bones");
    }
}
class Cat implements IAnimal{
    public void eat(){
        System.out.println("eating fish");
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值