【泛型】泛型方法

来源:互联网 发布:月相模拟软件 编辑:程序博客网 时间:2024/06/05 22:30

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

定义:

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

格式:

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

静态方法:

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

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
原创粉丝点击