Java开发基础系列(五):对象方法参数

news2025/2/2 23:49:43
😊 @ 作者: 一恍过去
💖 @ 主页: https://blog.csdn.net/zhuocailing3390
🎊 @ 社区: Java技术栈交流
🎉 @ 主题: Java开发基础系列(五):对象方法参数
⏱️ @ 创作时间: 2023年07月17日

在这里插入图片描述

目录

  • 参数类型
    • 基本类型参数
    • 引用类型参数
  • 实参与形参
    • 形参
    • 实参

参数类型

在Java中,对象方法的参数可以是基本类型参数、引用类型参数或其他对象类型的参数。方法参数的类型和数量根据具体需求进行定义。

基本类型参数

  • 基本类型参数用于传递基本数据类型的值(如int、double、boolean等)。
  • 传递基本类型参数时,会将实际值的副本传递给方法。
  • 在方法内部对基本类型参数进行修改不会影响原始值,因为实际上操作的是值的副本。
  • 方法中对基本类型参数的修改仅在方法的作用域内有效。

示例代码:

public void modifyValue(int value) {
    value = value + 10;
    System.out.println("value: " + value);
}

public static void main(String[] args) {
    int num = 5;
    System.out.println("Before num: " + num);
    modifyValue(num);
    System.out.println("After num: " + num);
}

输出结果:

Before num: 5
value: 15
After num: 5

结论:modifyValue()方法接收一个基本类型参数value。尽管在方法内部对value进行了修改,但在方法调用后,原始变量num的值并未受到影响。

引用类型参数

  • 引用类型参数用于传递对象的引用。
  • 传递引用类型参数时,会将引用的副本传递给方法,而不是对象本身。
  • 在方法内部,对引用类型参数的修改可以影响原始对象的状态,因为它们引用同一个对象。
  • 方法中对引用类型参数的修改在方法外部也是可见的。

示例代码:

public void changeName(Person person, String newName) {
    person.setName(newName);
}

public static void main(String[] args) {
    Person p = new Person("Wade");
    System.out.println("Before name: " + p.getName());
    changeName(p, "Jimmy");
    System.out.println("After name: " + p.getName());
}

输出结果:

Before name: Wade
After name: Jimmy

结论:changeName()方法接收一个引用类型参数person,并修改了该参数引用的对象的名称。在方法调用后,原始对象p的名称也发生了变化。

总结:

  • 基本类型参数传递的是值的副本,方法内部对参数的修改不会影响原始值。
  • 引用类型参数传递的是引用的副本,方法内部对参数的修改可以影响原始对象的状态。

实参与形参

在编程中,形参(Formal Parameter)实参(Actual Argument)是与函数或方法调用相关的两个重要概念。它们用于传递数据给函数或方法,并在函数内部进行处理。

形参和实参的关系是:在函数调用时,实参的值传递给形参,形参在函数体内作为局部变量来使用。形参只在函数定义的作用域内有效,并且每次调用函数时都会有新的形参实例。

形参

形参:是函数或方法定义中声明的参数。当我们创建一个函数或方法时,我们需要指定它所接收的参数类型和名称,这些参数在函数体内作为局部变量来使用。形参是函数的占位符,它们在函数调用时被赋予具体的值,用于函数的执行。

代码示例:

public void myFunction(int x, String name) {
    // 函数体内使用x和name作为形参
    // ...
}

结论:x和name是函数myFunction的形参,它们的类型分别为int和String,并在函数体内使用。

实参

实参:是在函数或方法调用时传递给函数的实际值。当我们调用函数时,我们需要提供实际的参数值,以便赋给函数定义中的形参。实参必须与形参的数量、顺序和类型相匹配,以确保正确传递数据给函数。
代码示例:

public void myFunction(int x, String name) {
    // 函数体内使用x和name作为形参
    // ...
}

myFunction(10, "Wade");

结论:10和"Wage"是函数myFunction的实参。它们分别赋给函数定义中的形参x和name,并在函数执行时使用。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/762357.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Pycharm 搭建 Django 项目,看完这一篇就够了

1. 安装需求 在使用 python 框架 Django 需要注意下面事项 Pycharm 版本是专业版而不是社区版本Pycharm 配置好了 python 解释器 (一般我们现在用的都是python3)我自己使用的是 Pycharm 版本是2020.1.2 2. 准备工作 2.1 新建项目 首先我们打开 Pycharm …

opencv -10 基础运算之 图像加权和(图像融合图像修复视频合成)

什么是图像加权和? 所谓图像加权和,就是在计算两幅图像的像素值之和时,将每幅图像的权重考虑进来,可以用公式表示为: dst saturate(src1 𝛼 src2 𝛽 𝛾)式中,satu…

无缝集成:基于FastAPI实现AI模型服务与nacos的完美融合

1 场景介绍 当我们使用python构建AI模型算法的过程中,经常会遇到如下的问题: 这个模型如何提供给其他微服务调用(比如JAVA构建的微服务)?这个模型如何做到多个服务节点的负载均衡?这个模型如何做到服务的…

Python高光谱遥感数据处理与高光谱遥感机器学习方法深度应用

提供一套基于Python编程工具的高光谱数据处理方法和应用案例。 本文涵盖高光谱遥感的基础、方法和实践。基础篇,用通俗易懂的语言解释高光谱的基本概念和理论,深入理解科学原理。方法篇结合Python编程工具,专注于解决高频技术难题&#xff0c…

工欲善其事,必先利其器之—react-native-debugger调试react native应用

调试react应用通常利用chrome的inspector的功能和两个最常用的扩展 1、React Developer Tools (主要用于debug组件结构) 2、Redux DevTools (主要用于debug redux store的数据) 对于react native应用,我们一般就使用react-nativ…

C++无锁编程——无锁队列

C无锁编程——无锁队列 贺志国 2023.7.11 上一篇博客给出了最简单的C数据结构——堆栈的几种无锁实现方法。队列的挑战与栈的有些不同,因为Push()和Pop()函数在队列中操作的不是同一个地方。因此同步的需求就不一样。需要保证对一端的修改是正确的,且对…

TCP/IP网络编程 第十二章:I/O复用

基于I/O复用的服务器端 多进程服务器端的缺点和解决方法 为了构建并发服务器,只要有客户端连接请求就会创建新进程。这的确是实际操作中采用的种方案,但并非十全十美,因为创建进程时需要付出极大代价。这需要大量的运算和内存空间&#xff…

Vue列表排序

开始前先回顾一下sort排序用法&#xff1a; 定义一串数组arr&#xff0c;使用sort排序&#xff0c;会收到前后两个数据项设置两个参数a&#xff0c;b。 注意&#xff1a;a-b 是升序 b-a 是降序 a-b升序&#xff1a; <script>let arr [12,11,2,5,76,33]arr.sort((a,b…

家居商城小程序:打造舒适家居生活的优选平台

随着人们对家居生活品质的追求&#xff0c;家居商城小程序成为提供便捷购物和个性化服务的不可或缺的工具。通过家居商城小程序&#xff0c;用户可以浏览并购买各类家居商品&#xff0c;如家具、装饰品、家纺等。同时&#xff0c;家居商城小程序能提供热销商品推荐、客户评价和…

浅析高校用电问题及智慧电力监管平台的构建 安科瑞 许敏

摘 要&#xff1a;介绍了当前高校用电存在的问题&#xff0c;进行了原因分析&#xff0c;由此提出建立高校用电智慧监管平台。对高校用电智慧监管平台的构架进行设计&#xff0c;运用物联网技术&#xff0c;实现各回路实时自主控制&#xff0c;并细化管理权限&#xff0c;实现…

Swift 周报 第三十三期

文章目录 前言新闻和社区App 内购买项目和订阅即将实行价格与税率调整为家庭提供安全的 App 体验 提案正在审查的提案 Swift论坛推荐博文话题讨论关于我们 前言 本期是 Swift 编辑组自主整理周报的第二十四期&#xff0c;每个模块已初步成型。各位读者如果有好的提议&#xff…

公网访问的Linux CentOS本地Web站点搭建指南

文章目录 前言1. 本地搭建web站点2. 测试局域网访问3. 公开本地web网站3.1 安装cpolar内网穿透3.2 创建http隧道&#xff0c;指向本地80端口3.3 配置后台服务 4. 配置固定二级子域名5. 测试使用固定二级子域名访问本地web站点 前言 在web项目中,部署的web站点需要被外部访问,则…

常规函数和箭头函数之间的主要区别

常规函数和箭头函数之间的主要区别 在 JavaScript 中&#xff0c;函数是设计用于执行特定任务的代码块。函数允许使用函数将大型程序分解为多个更小、更易于管理的组件。因此&#xff0c;我们就不再需要重复编写相同的代码。 JavaScript中有两种类型的函数 常规函数箭头函数…

jmeter如何进行web脚本录制

目录 录制web脚本 &#xff08;1&#xff09;jmeter中设置HTTP代理 &#xff08;2&#xff09;浏览器中设置代理 &#xff08;3&#xff09;页面操作 &#xff08;4&#xff09;查看录制的web脚本 &#xff08;5&#xff09;脚本内容过滤 &#xff08;6&#xff09;脚本优化…

练习 数列前n项和(递归函数)

C++自学精简教程 目录(必读) 数列的前n项和 S = 1 + 2 + 3 + ...... + n 之前我们用for循环求解数列前n项和,本文用递归函数求解。 代码如下 #include <iostream> using namespace std;int f(int a) {if (a == 1){return 1;}else{return a + f(a - 1);} }int main(…

APP外包开发中的H5框架

在开发APP的技术中&#xff0c;除了原生开发外也可以使用H5框架来开发。原生开发的特点是质量高&#xff0c;用户体验更好&#xff0c;但成本高&#xff0c;适用于对质量要求高的APP项目。H5框架的特点是通用性较强&#xff0c;对开发人员的要求相对较低&#xff0c;成本也低&a…

从小众到大热:海外网红营销的成功之道

在当今数字时代&#xff0c;社交媒体已经成为人们获取信息、沟通交流的主要渠道之一。而在这个社交媒体的浪潮中&#xff0c;海外网红营销逐渐从小众走向大热。它以其独特的营销模式和广泛的受众群体&#xff0c;成为许多品牌和企业的首选营销方式。本文Nox聚星将详细介绍海外网…

高等学校节能监控平台的具体应用 安科瑞 许敏

摘要&#xff1a;高校节能监控平台&#xff0c;主要是通过物联网技术实现对水、电、气等高耗能设备进行计量和控制&#xff0c;为高校能耗的分析&#xff0c;能源流向&#xff0c;节能目标提供有力的数据支撑。高效节能监控平台主要包括能耗监测系统、照明节能控制系统、空调节…

Gtest在ARM平台上的离线搭建(让Gtest编译安装成功之后的可执行文件.so变成ARM下的—ARM aarch64)(实用篇)

编译时自动调用Cunit或者Gtest的静态或者动态库文件说明拷贝Gtest安装包到新目录下根目录下创建build目录并且进行编译检查生成的库文件是否属于ARM架构下的将库文件拷贝到统一的ARM包下面编译时自动调用Cunit或者Gtest的静态或者动态库文件说明 这里之前在usr/local/lib下面安…

Springboot工程常见错误

1. mybatis的mapper.xml出现tag name expected错误 https://blog.csdn.net/watson2017/article/details/128902300 <符号在xml配置SQL 语句中是不能直接识别出来的&#xff0c;也就是说&#xff0c;我们在使用到 > 、< 等符号的时候&#xff0c;需要将其进行转义&…