【java学习】方法的参数传递(21)

news2024/9/23 11:19:48

文章目录

  • 相关概念
  • 1. 方法传递之基本数据类型
  • 2. 方法的参数传递之引用对象
  • 3. 总结


相关概念

方法,必须有其所在类或对象调用才有意义。若方法含有参数:
形参:方法声明时的参数
实参:方法调用时实际传给形参的参数值

    
问题
    Java 的实参值如何传入方法呢?

    Java 里方法的参数传递方式只有一种:值传递。 即将实际参数值的副本(复制品)传入方法内,而参数本身不受影响。

在这里插入图片描述

1. 方法传递之基本数据类型

例子:

package default_package;

public class Test6 {
	public static void swap(int i) {
		i = 6;
		System.out.println("swap方法中的参数i的值:" + i);
	}
	
	public static void main(String[] args) {
		int a = 0;
		swap(a);
		System.out.println("main方法中的a的值:" + a);
	}

}

运行结果:
在这里插入图片描述
在这里插入图片描述
总之,基本数据类型在参数的传递过程中,就是把实参的值复制值到形参上。

2. 方法的参数传递之引用对象

例子:
创建DataSwap.java类

package default_package;

public class DataSwap {
	public int a;

}

编写调用代码Test7.java

package default_package;

public class Test7 {
	public static void swap(DataSwap ds1) {
		ds1.a = 6;
		System.out.println("在swap方法中,ds1.a的之是:" + ds1.a);
	}
	
	public static void main(String[] args) {
		DataSwap ds = new DataSwap();
		System.out.println("调用swap方法之前,ds.a的值是:" + ds.a);
		swap(ds);
		System.out.println("调用swap方法之后,ds.a的值是:" + ds.a);
	}
}

运行结果:
在这里插入图片描述
在这里插入图片描述

3. 总结

方法的参数传递

(1) 如果方法的形参是基本数据类型,那么实参(实际的数据)向形参传递参数时,就是直接传递值,把实参的值复制给形参。
(2) 如果方法的形参是对象,那么实参(实际的对象),向形参传递参数的时,也是把值给形参,这个值是实参在栈内存中的值,也就是引用对象在堆内存中的地址
    基本数据类型都是保存在栈内存中,引用对象在栈内存中保存的是引用对象的地址,那么方法的参数传递是传递值(是变量在栈内存的当中的值)

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

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

相关文章

数据建模设计

数据库系统——建模与设计 一、数据建模 数据库的设计不仅需要处理规则的理解,更重要的是数据需求的理解与表达。 表达计算机世界的模型称为数据模型,而表达信息世界的模型称为概念模型。抽象是具有层次的,将现实世界的问题抽象成概念模型…

[ValueError: not enough values to unpack (expected 3, got 2)]

项目场景: 在使用opencv进行关键点识别、边缘轮廓提取的时候,提示以上错误。 import cv2 import numpy as npdef preprocess(image):# 进行图像预处理(例如灰度化、高斯模糊等)gray cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)blu…

Vuex的使用,详细易懂

目录 一.前言 二.Vuex的简介 三.vuex的使用 3.1 安装Vuex 3.2 使用Vuex的步骤: 四.vuex的存值取值(改变值) 五.vuex的异步请求 好啦,今天的分享就到这啦!!! 一.前言 今天我们继续前面的E…

openGauss Meetup(天津站.10月13日),欢迎报名

由openGauss社区、天开发展集团、天津市软件行业协会、天大智图(科技)有限公司联合主办,天津鲲鹏生态创新中心、天津市计算机学会、天津市人工智能学会、天津市系统集成协会、麒麟软件有限公司、天津南大通用数据技术股份有限公司、AI知学社协办的“open…

【Vuex+ElementUI】Vuex中取值存值以及异步加载的使用

一、导言 1、引言 Vuex是一个用于Vue.js应用程序的状态管理模式和库。它建立在Vue.js的响应式系统之上,提供了一种集中管理应用程序状态的方式。使用Vuex,您可以将应用程序的状态存储在一个单一的位置(即“存储”)中,…

北斗高精度定位为无人车成为机场运营新常态提供技术保障

在现代快节奏的生活中,人们对交通效率和安全性的需求越来越高。为了满足这一需求,无人驾驶技术被广泛研究和应用。而随着北斗卫星系统的发展,机场无人车正成为潜在的未来运输解决方案。本文将深入探讨北斗卫星如何改变机场运营,以…

Vega Prime入门教程14.01:调用VAPS XT DLL

本文首发于:Vega Prime入门教程14.01:调用VAPS XT DLL 在VAPS XT系列教程中提到过Vega Prime可以直接调用Drawing Integration生成的dll,本文来测试这个功能效果。 本系列使用的是VP18.0,使用的是VC14.0(VS2015&…

java装箱和拆箱

package daysreplace;import com.sun.jdi.IntegerValue;import java.util.Arrays;public class Test {public static void main(String[] args) {//装箱:自动将基本数据类型转成包装类 基本数据类型->包装类型//拆箱:自动将包装类转成基本数据类型 包…

【LeetCode:2512. 奖励最顶尖的 K 名学生 | 模拟+哈希表+堆】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

练[GYCTF2020]EasyThinking

[GYCTF2020]EasyThinking 文章目录 [GYCTF2020]EasyThinking掌握知识解题思路还得靠大佬正式开始 关键paylaod 掌握知识 ​ thinkphpV6任意文件操作漏洞,代码分析写入session文件的参数,源码泄露,使用蚁剑插件disable_functions绕过终端无回…

Android Native 开发 要点实录

Android Studio 中写 C 代码 android studio创建C项目_android studio native c-CSDN博客 项目配置参考 【CMake】CMakeLists.txt的超傻瓜手把手教程(附实例源码)_【cmake】cmakelists.txt的超傻瓜手把手教程(附实例源码)-CSDN博客 CMakeLists.txt 讲解…

一文区分路由策略和策略路由!

一、路由策略 在复杂的数据通信网络中,根据实际组网需求,往往需要实施一些路由策略对路由信息进行过滤、属性设置等操作,通过对路由的控制,可以影响数据流量转发。路由策略并非单一的技术或者协议,而是一个技术专题或…

MongoDB——centOS7环境Mongodb权限管理(图解版)

目录 一、MongDB权限概述1.1、MongDB权限概述1.2、MongDB权限列表 二、Mongodb权限管理示例2.1、创建账号2.1.1、创建管理员用户2.1.2、开启认证2.1.3、创建普通账号 一、MongDB权限概述 1.1、MongDB权限概述 mongodb是没有默认管理员账号,所以要先添加管理员账号…

界面组件DevExpress WPF v23.1 - 进一步升级数据处理能力

DevExpress WPF拥有120个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。 无论是Office办公软件…

帝国cms改目录后打不开,帝国cms改目录生成后还是404

帝国CMS更改了网站域名或者栏目目录地址信息打不开的解决方法,一起来看看吧: 很多的小伙伴们,改了后台的系统设置里面的网站地址或者栏目目录地址,信息页就打不开的解决方法如下: 后台>系统>数据更新>更新信…

防雷排插的防雷应用以及解决方案

防雷排插是一种能够有效防止雷电对电器设备造成损坏的电源插座。防雷排插的应用,原理和作用如下: 地凯科技防雷排插的应用:防雷排插主要用于保护电脑,电视,音响等电子设备免受雷击或者电网过压的影响。防雷排插通常有…

Delphi如何为Win32位和Win64位不同的目标平台分别编译生成不同文件名的EXE可执行文件

实际上就是给编译生成的exe文件自动重命名不同的名称: 实测《Z-Gantt时间管理进度计划甘特图》Delphi 10.3.3 成功,网上说Delphi xe3 以上版本都可以, delphi 7 不可以。 进入 Project Options - Build Events , 然后在 post-bui…

华为云云耀云服务器L实例评测 | 实例评测使用之硬件参数评测:华为云云耀云服务器下的 Linux 磁盘目录分析神器 ncdu

华为云云耀云服务器L实例评测 | 实例评测使用之硬件参数评测:华为云云耀云服务器下的 Linux 磁盘目录分析神器 ncdu 介绍华为云云耀云服务器 华为云云耀云服务器 (目前已经全新升级为 华为云云耀云服务器L实例) 华为云云耀云服务器…

【C++进阶】:智能指针

智能指针 一.为什么需要智能指针二.智能指针的原理和使用1.RALL2.auto_ptr3.unique_ptr4.shared_ptr 一.为什么需要智能指针 主要两点原因: 1.为了避免写代码时忘记delete导致的内存泄漏。 2.为了避免抛异常时跳过delete导致的内存泄漏。 1.new本身有可能出现异常&…

如何导出带有材质的GLB模型?

1、为什么要使用 GLB 模型? GLB格式(GLTF Binary)是一种用于存储和传输3D模型及相关数据的文件格式,具有以下优点和作用: 统一性:GLB是一种开放标准的3D文件格式,由Khronos Group制定和维护。它融合了GL…