49. Java 类和对象 - 调用方法和构造函数

49. Java 类和对象 - 调用方法和构造函数

在 Java 中,**方法(Method)构造函数(Constructor)**都可以接收参数,用来在调用时传递信息或初始值。了解参数和实参(即方法或构造函数调用时传入的值)之间的区别,以及如何正确传递这些值,对于编写和使用方法、构造函数十分重要。


1. 将信息传递给方法

1.1 方法的参数声明

一个方法声明时,参数列表位于方法名后的括号 () 中,每个参数声明由类型参数名组成,多个参数之间用逗号分隔。例如:

java 复制代码
public double computePayment(double loanAmt,
                             double rate,
                             double futureValue,
                             int numPeriods) {
    // 方法体:使用传入的参数来执行运算或逻辑
}
  • double loanAmt:表示贷款金额
  • double rate:表示利率(百分比数值)
  • double futureValue:表示将来价值
  • int numPeriods:表示还款期数

在方法体中,这些参数名就像局部变量一样使用,用于参与计算或逻辑。

1.2 调用方法时传入实参

当我们调用方法时,需要按顺序给出与方法声明匹配的实参(Arguments),数量和类型都必须与参数列表对应。例如:

java 复制代码
// 调用 computePayment 方法,传入四个实参
double monthlyPayment = computePayment(200000, 3.5, 0, 360);
System.out.println("Monthly Payment: " + monthlyPayment);
  • 200000 -> 对应参数 loanAmt
  • 3.5 -> 对应参数 rate
  • 0 -> 对应参数 futureValue
  • 360 -> 对应参数 numPeriods

在方法调用时,实参的类型和顺序必须与方法声明中的参数一一对应。参数列表(Parameters)指的是方法声明时的形式参数,而**实参(Arguments)**指的是调用方法时传入的实际数值。


2. 将信息传递给构造函数

2.1 构造函数的参数声明

构造函数的声明与方法类似,只是名称必须与类名相同,而且没有返回类型。构造函数也可以接收参数,用来初始化对象的字段。例如:

java 复制代码
public class LoanCalculator {
    private double principal;
    private double annualRate;
    private int periods;

    // 带参数的构造函数
    public LoanCalculator(double principal, double annualRate, int periods) {
        this.principal = principal;
        this.annualRate = annualRate;
        this.periods = periods;
    }

    // 其他方法...
}

2.2 调用构造函数时传入实参

通过 new 关键字调用构造函数时,也需要向其传入与参数列表匹配的实参。例如:

java 复制代码
// 调用 LoanCalculator 构造函数,传入三个实参
LoanCalculator calc = new LoanCalculator(200000, 3.5, 360);

这会创建一个 LoanCalculator 对象,并使用传入的实参初始化相应字段。


3. 参数与实参的匹配规则

  1. 数量必须相同 调用方法或构造函数时,实参的数目必须与声明中的参数数目一致。
  2. 类型必须兼容 实参的类型必须与声明中的参数类型相匹配或可兼容(例如 int 类型可以传给形参类型为 double,会进行自动类型转换)。
  3. 顺序必须保持 参数列表中的顺序决定了实参的意义和类型,也要严格遵守。

如果在调用时不满足这些要求,编译器会报错,无法编译通过。


4. 返回值(对于方法)

  • 方法可能有返回值 :方法可以声明一个非 void 的返回类型,并在方法体内使用 return 关键字返回一个结果。例如前面例子中的 computePayment 方法返回一个 double
  • 构造函数没有返回值:构造函数不需要,也不能声明返回类型,因为它的作用是创建并初始化对象,而不是返回一个额外的值。

5. 小结

  • 方法声明中指定参数类型和参数名,调用方法时需要按正确的类型、数量和顺序传递实参。
  • 构造函数 与方法类似,也可以指定参数列表;调用构造函数时使用 new,并按匹配的实参进行初始化。
  • 参数列表 中的变量称为"形式参数(Parameters)",调用时传入的实际数值 称为"实参(Arguments)"。
  • 返回类型适用于方法,如果方法声明了非 void 类型,就必须在方法体内使用 return。构造函数则没有返回类型,且名称必须与类名相同。

在实际开发中,正确理解和使用参数列表与实参传递,可以帮助你组织和调用方法或构造函数,构建更模块化、更易维护的程序。

相关推荐
想用offer打牌2 小时前
MCP (Model Context Protocol) 技术理解 - 第二篇
后端·aigc·mcp
崔庆才丨静觅3 小时前
hCaptcha 验证码图像识别 API 对接教程
前端
passerby60614 小时前
完成前端时间处理的另一块版图
前端·github·web components
KYGALYX4 小时前
服务异步通信
开发语言·后端·微服务·ruby
掘了4 小时前
「2025 年终总结」在所有失去的人中,我最怀念我自己
前端·后端·年终总结
崔庆才丨静觅4 小时前
实用免费的 Short URL 短链接 API 对接说明
前端
崔庆才丨静觅4 小时前
5分钟快速搭建 AI 平台并用它赚钱!
前端
爬山算法4 小时前
Hibernate(90)如何在故障注入测试中使用Hibernate?
java·后端·hibernate
崔庆才丨静觅5 小时前
比官方便宜一半以上!Midjourney API 申请及使用
前端
Moment5 小时前
富文本编辑器在 AI 时代为什么这么受欢迎
前端·javascript·后端