java参数一网打尽

参数类型:参数像是一个占位符。当方法被调用时,传递值给参数。这个值被称为实参或变量。参数列表是指方法的参数类型、顺序和参数的个数。参数是可选的,方法可以不包含任何参数。
形式参数:在方法被调用时用于接收外界输入的数据
实参:调用方法是实际传给方法的数据
参数列表:当你在编写一个函数时,你不知道函数形参的类型或者是形参的长度时,你就可以使用参数列表来代替。

public void f(Object...objects) {
         System.out.println("Object");
         System.out.println(objects.length);
     }

可变参数
JDK 1.5 开始,Java支持传递同类型的可变参数给一个方法。
在方法声明中,在指定参数类型后加一个省略号(…) 。

一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。任何普通的参数必须在它之前声明。

public class VarargsDemo {
    public static void main(String args[]) {
        // 调用可变参数的方法
        printMax(34, 3, 3, 2, 56.5);
        printMax(new double[]{1, 2, 3});
    }
 
    public static void printMax( double... numbers) {
        if (numbers.length == 0) {
            System.out.println("No argument passed");
            return;
        }
 
        double result = numbers[0];
 
        for (int i = 1; i <  numbers.length; i++){
            if (numbers[i] >  result) {
                result = numbers[i];
            }
        }
        System.out.println("The max value is " + result);
    }
}
以上实例编译运行结果如下:
The max value is 56.5
The max value is 3.0

什么是类型参数
类型参数就是参数的类型,它接受类作为实际的值
把类型参数化,也就是我们常说的类型参数,可参考泛型
平时我们接触的普通方法的参数,比如public void fun(String s);参数的类型是String,是固定的

现在泛型的作用就是再将String定义为可变的参数,即定义一个类型参数T,比如public static void fun(T t);这时参数的类型就是T的类型,是不固定的

从上面的String和T来看,泛型有着浓浓的多态的味道,但实际上泛型跟多态还是有区别的

从本质上来讲,多态是Java中的一个特性,一个概念,泛型是真实存在的一种类型;

白话一点来说,就是你可以把类型参数看作形参,把实际传入的类看作实参

比如:ArrayList<E>中的类型参数E看做形参, ArrayList<String>中的类String看做实参

如果你学过工厂设计模式,那么就可以把这里的ArrayList<E>看做一个工厂类,然后你需要什么类型的ArrayList,就传入对应的类型参数即可

比如,传入Integer则为ArrayList<Integer>
比如,传入String则为ArrayList<String>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值