温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

java Parameter参数怎样使用

发布时间:2026-10-04 08:20:37 来源:亿速云 阅读:87 作者:小樊 栏目:编程语言

在 Java 里,“Parameter(参数)”这个词通常出现在几个不同场景中。下面我按最常见、最容易混淆的几种情况给你讲清楚,并配上示例。


一、方法(函数)的参数(最常见)

这是最基础的“Parameter”。

1️⃣ 定义方法时使用参数

public void sayHello(String name) { // name 是参数
    System.out.println("Hello, " + name);
}

2️⃣ 调用方法时传入实参

sayHello("Tom");

✅ 形参(Parameter):定义方法时的变量
✅ 实参(Argument):调用方法时传的值


二、可变参数(Varargs)

Java 支持“个数不固定”的参数:

public void printAll(String... items) {
    for (String s : items) {
        System.out.println(s);
    }
}

调用方式:

printAll("A", "B", "C");
printAll(); // 也可以不传

⚠️ 注意:

  • 可变参数必须是最后一个参数
  • 一个方法只能有一个 ...

三、反射中的 Parameter(java.lang.reflect.Parameter)

从 Java 8 开始,可以通过反射获取方法参数信息。

示例

import java.lang.reflect.Method;
import java.lang.reflect.Parameter;

public class Test {
    public void test(String name, int age) {}

    public static void main(String[] args) throws Exception {
        Method m = Test.class.getMethod("test", String.class, int.class);
        for (Parameter p : m.getParameters()) {
            System.out.println(p.getName()); // name, age
            System.out.println(p.getType()); // String, int
        }
    }
}

⚠️ 注意:

  • 默认情况下,编译后参数名会丢失
  • 需要使用:
javac -parameters Test.java

四、注解中的参数(Annotation Parameter)

注解也可以有“参数”:

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface MyAnno {
    String value();
    int count() default 1;
}

使用:

@MyAnno(value = "test", count = 3)
public void method() {}

五、命令行参数(main 方法的 args)

public static void main(String[] args) {
    for (String arg : args) {
        System.out.println(arg);
    }
}

运行:

java Main hello world

六、容易混淆的点总结

场景 是否是 Parameter
方法定义中的变量 ✅
方法调用时传的值 ❌(叫 argument)
反射 Parameter ✅
注解里的“参数” ✅(特殊语法)

如果你指的是某一个具体场景(比如 MyBatis 的 @Param、Spring 的 Parameter、反射、或者泛型参数),可以告诉我,我可以直接按你用的技术栈讲。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手