【Head First Java 笔记】参数传递

《Head First Java》第三版:从零基础到实战的Java学习指南 Java作为一门面向对象的编程语言,其核心在于对象、类、继承、多态等基本概念的理解与应用。这些概念构成了Java编程的基石,其原理是通过封装、继承和多态三大特性来实现代码的复用性、扩展性和维护性。掌握这些基础不仅能提升代码质量,更是深入理解现代Java开发中Lambda表达式、Stream API等高级特性的前提。在工程实践中,例如构建桌面应用、处理集合数据或进行网络编程时,扎实的面向对象基础尤为关键。本文以《Head First Java(第三版)》为蓝本,深入剖析了如何通过独特的认知科学设计方法,有效学 阅读详情

Java是通过值传递的,也就是说通过拷贝传递

int x = 7;

1.声明一个int类型的变量并赋值为7。代表7的字节组合会放进称为x的变量中。

void go (int z) {}

2.声明一个有int参数的方法,参数名称为z。

void go (int z) {}

foo.go(x);

3.以x为参数传入go()这个方法中。x的字节组合会被拷贝并装进z中。

void go (int z) {
    z = 0;
}

4.在方法中改变z的值。此时x的值不会改变!传给z的只是个拷贝。方法无法改变调用方法所传入的参数。

在Java中所传递的所有东西都是值,但此值是变量所携带的值。引用对象的变量所携带的是远程控制而不是对象本身。若对方法传入参数,实际上传入的是远程控制的拷贝。

方法可以返回会被隐含转换成声明类型的其他类型值。例如,用byte当作int类型的返回。但若声明的类型容器小于想要返回的类型时,必须作明确的转换。

2.方法与构造方法 方法与构造方法练习 【练习题】01.类的成员变量: 设计一个立方体类Box,定义三个属性,分别是长,宽,高。定义二个方法,分别计算并输出立方体的体积和表面积 【练习题】02.类的成员变量: 请定义一个交通工具(Vehicle)的类,其中有: 属性:速度(speed),距离(distance)等等 方法:移动(move(int s)),设置速度(setSpeed(int speed)),... 阅读详情

相关推荐

《Head First Java》第三版:新手入门Java 17与实战环境搭建指南

Java作为一门面向对象的编程语言,其核心在于通过类与对象的概念来模拟现实世界,实现代码的封装、继承和多态。理解对象在内存中的创建与引用机制,是掌握Java编程原理的基础,这直接关系到程序运行的效率与稳定性。从技术价值看,Java的跨平台特性和丰富的生态系统,使其成为企业级应用、安卓开发和大数据领域的首选语言。对于初学者而言,搭建开发环境是第一个实战挑战,涉及JDK版本选择、环境变量配置等关键步骤。本文以《Head First Java》第三版为线索,深入探讨如何从Java 8演进到Java 17,并系统解

weixin_33835103的博客 416

java中的全局参数(int)传递

问题引出: int类型是不能做引用传递的,所以多个方法用到同一个数值就显得有些麻烦,而且也没有extren关键字。 如果在类变量中使用定义要使用的数值也是不可以的,因为类变量是根据类同存在的,所以如果类一直存在,多次调用这个类变量就会使数值一直叠加。所以也不可被使用。 实现: 1.新建对象类在对象中定义数值变量,这样可以在全局方法中传递对象以实现数值的引用。 2.使用数组进行传递。 Integer[] errorCount = new Integer[1]; e

m0_53077601的博客 2886

读书笔记之《Head First Java》对象的行为、超强力方法

对象的行为 对象中,实例变量和方法之间有着怎样的关系? 状态影响行为,行为影响状态。实例变量即状态,方法即行为。 什么是形参和实参? 这个和C倒没什么区别 我们可以给方法传入参数。实参是传给方法的值。当实参传入方法后就成了形参。 给方法传入实参时,实参的顺序、类型、数量必须与形参的顺序、类型、数量完全一致。 你还可以把变量当作实参传入方法,只要其类型符合要求即可。 方法的参数传递为什么是值传递?什...

来自蒟蒻LebronGod的博客 224

C/C++中的void和void*

原文地址:C/C++中的void和void*作者:蓝竹 C/C++中的void和void* C/C++中的void和void* 一、void void关键字表示“空类型”的概念。但是,这里的“空类型”不表示“任意类型”,而是表示不存在的意思,也就是说C/C++不允许你写语句void a,不存在类型为void的东西. void表示“不存在”的意思,可以从void的两个应用中加以体现: 1、vo

alvin的博客 1163

MySQL根据idb文件恢复数据

恢复前提 MySQL 5.* 和 8.* 的恢复方式大同小异,最基本的区别是8.* 中,不再有表结构frm文件,所以要恢复 8.* 的数据,就必须要有完整的建表语句。 而恢复 5.* 的数据,就需要idb文件和 frm文件,当然,如果有完整的建表语句的话,不用frm文件也行。 恢复步骤 需要注意的是,以下操作需要选定数据库后执行。 5.* 恢复表结构 确定表列数 首先创建一张 与需要恢复数据的表 的名字相同的新表,如果已知原表的字段数量的话,就按照原表字段数建表,字段名和类型都不用考虑,如果不知道数量的话,

weixin_45121446的博客 5447

STM32CubeIDE(CUBE-MX hal库)----RTC时钟断电保持与时间校准实战

本文详细介绍了在STM32CubeIDE中使用CUBE-MX和HAL库实现RTC时钟断电保持与时间校准的实战方法。通过硬件配置、后备寄存器(BKP)操作及软件校准策略,确保嵌入式设备在断电后仍能保持准确时间,适用于智能电表、环境监测等物联网应用场景。

weixin_29189373的博客 216

【Java 学习笔记】《Head First Java》——基本概念

Java 学习笔记——基本概念类与对象primitive 主要数据类型与引用 万物皆对象,真正的java程序只会让对象与对象交互,交互即相互调用方法 类与对象 类是对象的蓝图,它会告诉虚拟机如何创建某种类型的对象。根据某类创建出来的额对象都会有自己的实例变量。 main()函数:在对象之外,用来(1)测试真正的类;(2)启动你的java应用程序 class DogTestDrive{ public static void main(String[] args){ // Dog 测试码 } } pr

ftfy123的博客 1347

【ROS2】Arduino系列之机器人底盘实现

介绍ros中提供的一个已经封装了的模块: ros_arduino_bridge,该模块由下位机驱动和上位机控制两部分组成,通过该模块可以更为快捷、方便的实现自己的机器人平台

guilin 1483

java first head_Head First Java学习笔记

1.基本概念1.1.工作方式源代码(.java)---编译器(执行javac程序)---产生字节码(.class与平台无关)---JAVA虚拟机(JVM,读取与执行字节码)1.2.汇编语言是对基础机器的少量抽象,C,BASIC,FORTRAN等是对汇编语言的一种抽象1.3.类实例化的过程相当于创建了一个句柄1.4.doStuff(c),一个圆句柄传递给一个本来期待shape句柄的函数,圆是shap...

weixin_35828992的博客 397

Python实现支付宝转账接口

由于工作需要使用python开发一个自动转账接口,记录一下开发过程。 首先需要在蚂蚁金服上申请开通开发者账户,有了开发者账户就可以使用沙箱进行开发了。 在开发之前我们需要在沙箱应用中填写密钥,密钥的获取可以使用阿里提供的工具包自动生成。 前期准备工作完成了,接下来是编写代码部分。主要用到了python-alipay-sdk库,使用pip安装即可,如果安装的过程中遇到问题推荐使用Anaconda...

FanMLei的博客 8516

STM32的GPS数据提取程序设计说明——基于NMEA0183协议

一、硬软件平台 本次程序实现效果为对GPS信号穿送来的数据进行筛选,并将筛选后的信息通过上位机显示出来,所以此次设计所需硬件包括STM32F407、RS232转TTL、CH340USB转串口模块,注意该模块在使用前,对应的系统需要安装驱动,否则串口调试助手无法识别,另外还包括JLink下载器。 本次代码设计软件为KEIL5并结合F4固件包,上位机系统为WIN7,主机系统为WIN10。 二、算法总体思路设计 由于GPS通过RS232将数据传送给板子,因此使用两个串口资源(串口1和串口2),其中一个用来

小景的博客 6181

《Head First Java》学习笔记(一)

Javac程序 JVM执行 1.源代码.java 字节码.class ...

chuoxutuo0774的博客 150

如何使用MCP2518FD外部CAN FD控制器实现速速CAN通信

1、SPI时序MCP2518FD外部CAN FD控制器具有小尺寸和SPI接口,可实现轻松连接。可将CAN FD通道轻松添加到缺少CAN FD外设或没有所需CAN FD通道的微控制器上。MCP2518FD支持经典格式 (CAN 2.0B) 和CAN灵活数据速率 (CAN FD) 格式中的CAN帧格式,符合ISO11898-1:2015标准。框图:本文实验板MCU:CAN FD控制器:MCP2518FDCAN FD收发器:ATA6560开发环境:想了解开发板更详细信息,请点击。

qq_57798018的博客 1万+

《Head First Java》20200902读书笔记

P78-P82 《Head First Java》20200902读书笔记 P78 参数和返回值 类定义对象所知及所为。 对象所知者是实例变量。 对象所为者是方法。 方法可依据实例变量来展现不同的行为。 方法可使用参数,这代表你可以传入一个或多个值给方法。 传给方法的参数必须符合声明时的数量、顺序和类型。 传入与传出的值类型可以隐含地放大或是明确地缩小。 传给方法的参数值可以是直接指定的文字或数字,或者是与所声明参数相同类型的变量。 如果方法声明了非void的返回类型,那就一定要返回与声明类型相同的值。

qq_43272318的博客 148

lp–mspm0g3507开发板进入低功耗模式怎么退出?烧程序烧着烧着就进来了,跳线帽没动过,且报错:Texas Instruments Debugger Error: DAP Co...如何解决?

🏆本文收录于 《全栈Bug调优(实战版)》 专栏,该专栏专注于分享我在真实项目开发中遇到的各类疑难Bug及其深层成因,并系统提供高效、可复现的解决思路和实操方案。无论你是刚入行的新手开发者,还是拥有多年项目经验的资深工程师,本专栏都将为你提供一条系统化、高质量的问题排查与优化路径,助力你加速成长,攻克技术壁垒,迈向技术价值最大化与职业发展的更高峰🚀!

**My Coding Family** 1568

SAP Group Reporting入门指南(11)--配置

这里选择的是FS项目目标属性,FS项目有四个目标属性,比如上图配置的是抵消目标属性,所以就去找触发FS项目的抵消目标属性配置的是哪个FS项目,就以这个FS项目作为贷方。这里选择的是FS项目目标属性,FS项目有四个目标属性,比如上图配置的是抵消目标属性,所以就去找源FS项目的抵消目标属性配置的是哪个FS项目,就以这个FS项目作为借方。例如,添加一个包含用于存储百分比的 FS 项的选项。这里选择的是FS项目的角色属性值,如果这里定义了,那么就从FS项目中找到FS项目角色属性值与之匹配的FS项目作为贷方。

bflyfish的博客 568

《Head First Java》20200901读书笔记

P71-P77 《Head First Java》20200901读书笔记 P71 状态影响行为,行为影响状态。 对象有状态和行为两种属性,分别由实例变量与方法来表示。 面向对象的重点——行为依据状态来决定。方法会用到实例变量的值。 在编写类时,是在描述Java虚拟机应该如何制作该类型的对象。 类所描述的是,对象知道什么与执行什么。 P73 敲一下实例: package DogBarkDifferent; public class Dog { int size; String name;

qq_43272318的博客 150

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

《Head First Java》——对象的行为

类所描述的是 对象知道什么与执行什么! 调用两个参数的方法,并传入两个参数 void go(){   TestStuff t = new TestStuff();   t.takeTwo(12,34); } void takeTwo(int x,int y){   int z = x + y;   System.out.println("Total is " + ...

aaa274125723的博客 144

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Head First Go - 第一部分语法基础

提示:点击文章目录直达 文章目录1. 典型的Go文件布局2. 调用函数2.1 Println函数3. 字符串4. 符文5. 布尔值6. 数字7. 类型8. 声明变量 前言:准备开始学go,跟着《 Head First Go 》 学,顺便记下笔记,第一章第一节,语法基础。 1. 典型的Go文件布局 package main //package子句 import "fmt" //import部分 func main() { fmt.Println("Hello, Go!") //实际代.

Jwasx的博客 1077

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

《Head First Java》笔记3-4(学过一点Java版)

3 primitive主数据类型和引用 4 方法操作实例变量

zjnbxxjsj的博客 150

head first java第八章的学习

很高兴今天能够学习这个章节,本来昨天就可以学完,不过因为我滴老父亲过生日了,我赶紧赶回家吃了个饭耽误了一个晚上。不出意外,这一章讲的就是接口和多态的关系。上一章讲的是一个父类引用可以有多种实例,那么这一章讲的就是一个接口有多重实现形式(昨天老师上课讲的hh)。然后百度一下多态,之前不容易理解,现在理解应该深了一些: 多态是同一个行为具有多个不同表现形式或形态的能力。 多态就是同一个接口,使用不...

qq_41004188的博客 235

Head First Java 三 四 五

术语规定 A method uses parameters. A caller passers arguments. 这么规定是有原因的,也是为了区分parameters 和 arguments的不同,即传值调用是复制一份参数传出去。 java中,全部都是传值调用,即复制一份参数,传给函数。 reference引用也是传值的,传的是遥控器的bits。

dyf20081124的专栏 377

head first java 02 ( 4 ~ 5 章 )

- 类所描述的是对象知道什么与执行什么, 任意类得每个实例都带有相同的方法, 但是方法可以根据实例变量的值来表现不同的行为。   知道什么: 实例变量, 执行什么: 方法. 例如: 一个方法执行不同void play() { soundPlayer.playSound( title ); } Song t2 = new Song(); t2.setArtist( "Tr...

weixin_34150503的博客 101

装饰者模式—Head First 设计模式

以后每天要抽出一定的时间来学习算法!!今天学习的是用于二分图最大匹配的匈牙利算法

allenwakler的博客 308
上一篇: 【Head First Java 笔记】引用变量
下一篇: 【社招】面试_中科飞思_前端工程师
includei
博客等级 码龄9年 406粉丝 71原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值