泛型的本质是为了参数化类型,也就是说在泛型使用过程中,操作的数据类型被指定为一个参数,这种参数类型可以用在类、接口和方法中,那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 FruitGenerator
* 如果不声明泛型,如:class FruitGenerator implements Generator
*/ class FruitGeneratorimplements Generator { @Override public T next() { return null; } }
当实现泛型接口的类,传入泛型实参时:
/**
* 传入泛型实参时:
* 定义一个生产器实现这个接口,虽然我们只创建了一个泛型接口Generator
* 但是我们可以为T传入无数个实参,形成无数种类型的Generator接口。
* 在实现类实现泛型接口时,如已将泛型类型传入实参类型,则所有使用泛型的地方都要替换成传入的实参类型
* 即:Generator
/ 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工具网。
推荐阅读: