java泛型方法返回值类型有哪些?泛型接口怎么使用?

泛型的本质是为了参数化类型,也就是说在泛型使用过程中,操作的数据类型被指定为一个参数,这种参数类型可以用在类、接口和方法中,那java泛型方法返回值类型有哪些?下面来我们就来给大家讲解一下。

1.有返回值类型

定义格式:

权限修饰符 static 方法返回值类型 方法名称(形式参数类型1 参数名称1,形式参数类型2 参数名称2,…){

方法体;

return 结果;

}

//需求:从键盘录入两个数据,求这两个数据的和,使用方法完成!

import java.util.Scanner;
class AddFunctionDemo
{
    //主方法
    public static void main(String[] args)
    {
        //创建键盘录入对象
        Scanner scanner = new Scanner(System.in);
        //提示并接收数据
        System.out.println("请输入第一个数据:");
        int num1 = scanner.nextInt();
        System.out.println("请输入第二个数据:");
        int num2 = scanner.nextInt();
        //赋值调用add方法
        int result = add(num1, num2);
        //输出结果
        System.out.println("两个数据的和为:" + result);
    }
    //自定义方法
    /*
    两个明确:
    1.方法返回值类型(int类型)
    2.参数类型及参数个数(参数类型:int,参数个数:2个)
    */
    public static int add(int a, int b)
    {
        int sum = a + b;
        return sum;
    }
}

2.无返回值类型

定义格式:

权限修饰符 staitic void 方法名(形式参数类型1 参数名称1,形式参数类型2 参数名称2,…){

直接输出语句或其他的操作;

}

//需求:键盘录入一个数据n,打印nn乘法表

class FunctionDemo
{
    public static void main(String[] args)
    {
        Scanner sc = new Scanner(System.in);
        System.out.println("请问你要打印几乘几的乘法表:");
        int num = sc.nextInt();
        //调用printMultilpication方法(直接调用)
        printMultiplication(num);
    }
    /*

自定义方法:

两个明确:

1.方法的返回值类型(无返回值类型使用void代替)

2.参数类型和参数个数(参数类型:int,参数个数:1个)

*/
public static void printMultiplication(int a)
{
    for (int i = 1; i <= a; i++)
    {
        for (int j = 1; j <= i; j++)
        {
            System.out.print(j + "*" + i + "=" + i * j + "\t");
        }
        System.out.println();
    }
}
}

泛型接口怎么使用?

泛型接口与泛型类的定义及使用基本相同。泛型接口常被用在各种类的生产器中,可以看一个例子:

//定义一个泛型接口

public interface Generator{

public T next();

}

当实现泛型接口的类,未传入泛型实参时:

/**

* 未传入泛型实参时,与泛型类的定义相同,在声明类的时候,需将泛型的声明也一起加到类中

* 即:class FruitGeneratorimplements Generator{

* 如果不声明泛型,如:class FruitGenerator implements Generator,编译器会报错:"Unknown class"

*/
class FruitGeneratorimplements Generator
{
    @Override
    public T next()
    {
        return null;
    }
}

当实现泛型接口的类,传入泛型实参时:

/**

* 传入泛型实参时:

* 定义一个生产器实现这个接口,虽然我们只创建了一个泛型接口Generator

* 但是我们可以为T传入无数个实参,形成无数种类型的Generator接口。

* 在实现类实现泛型接口时,如已将泛型类型传入实参类型,则所有使用泛型的地方都要替换成传入的实参类型

* 即:Generator,public T next();中的的T都要替换成传入的String类型。

/
public class FruitGenerator implements Generator
{
    private String[] fruits = new String[]
    {
        "Apple"
        , "Banana"
        , "Pear"
    };
    @Override
    public String next()
    {
        Random rand = new Random();
        return fruits[rand.nextInt(3)];
    }
}

其实泛型用到最多的就是在集合中,在实际的编程过程中,我们自己也可以使用泛型去简化开发,并且能很好的保证代码质量。最后大家如果想要了解更多java常见问题知识,敬请关注奇Q工具网。

推荐阅读:

Java需要掌握哪些基础课程?java基础课程推荐

editplus如何破解?editplus有哪些使用技巧?

java语言的特点有哪些?java语言特点总结