【Java面向对象】java学习之旅9-类中的相关概念

Java 中的面向对象编程 (OOP) 概念 顾名思义,面向对象编程或 Java OOP 概念是指在编程中使用对象的语言,它们使用对象作为实现代码中要发生的事情的主要来源。对象由查看者或用户看到,执行您分配的任务。面向对象编程旨在在编程中实现现实世界中的实体,如继承隐藏多态性等。OOP 的主要目的是将数据和操作它们的函数绑定在一起,以便除了该函数之外,代码的其他部分都无法访问这些数据。 阅读详情
成员变量和局部变量
  • 成员变量(全局变量)
  • 局部变量
  • 注意:
  • 1.如果成员变量不是静态的,静态的方法访问不到。
  • 2.代码块修饰环节的声明变量,作用域在于整个代码块。
形参和实参
  • 形参:形式上的参数
  • 实参:实际上的参数

通过一个例子来说明形参和实参的形式:

public static void main(String[] args) {
		
		Demo02 demo02 = new Demo02();
		
		//a -> 实参
		int a = 2;
		demo02.function1(a);
		System.out.println(a);
		
		int[] array = {1, 2, 3};
		demo02.function2(array);
		System.out.println(Arrays.toString(array));
		
		//注意
		String name = "lucy";
		demo02.funciton4(name);
		System.out.println(name);
		
	}
	
	
	//a -> 形参
	public void function1(int a) {
		a++;
		System.out.println(a);
	}
	
	public void function2(int[] array) {
		array[0]++;
		System.out.println(Arrays.toString(array));
	}
	
	public void funciton4(String name) {
		//由于字符串常量本身不可改变,会创建和一个新的对象 "lucy tom"
		//所以拼接之后,形参name和实参name指向的已经不是同一个对象
		name += " tom";
		System.out.println(name);
	}

这里说明了:

  • 把变量a作为参数传递到function1的内部。
  • 1.把实参a的值赋值给形参a
  • 2.function1内部使用的一直是形参a
  • 把数组array作为参数传递到function2的内部。
  • 1.把实参array的地址赋值给了形参array。
  • 2.由于地址相同,实参和形参指向的是同一个数组对象。
  • 3.方法内部操作的数组就是外部声明的数组。

这里引出了值传递和引用传递

  1. 值传递:调用方法时,传递到方法内部的是值的备份,方法内部对于该值做的修改,不会影响原来的值。
  2. 引用传递:调用方法时,传递到方法内部的是对象的引用,由于方法内部使用的引用和原对象的引用一致,方法内部对于数据做的修改,会影响到原来的数据。

对java来说:

  1. 如果参数是基本数据类型,传递到方法内部的是形参,形参的值其实就是实参的备份。所以使用的是值传递。
  2. 如果参数是引用数据类型,传递到方法内部的是形参,形参的值是实参对象的地址的备份。所以使用的也是值传递。
  3. java只有值传递。

拓展知识 javadoc文档的导出:

eclipse上右键项目->Export->搜索javadoc->勾选项目点击两次next->在 optinos框中输入-encoding utf-8 -charset utf-8->点击finish。

Cadence IC618/Spectre231安装避坑指南:详解环境变量配置与License管理那些事儿 本文深入解析Cadence IC618/Spectre231安装过程中的环境变量配置与License管理难题,提供从变量冲突解决到高效License管理的实用方案。针对常见的64位标识冲突、路径污染及License服务器连接问题,给出具体诊断步骤和优化建议,帮助用户构建稳定可靠的EDA环境。 阅读详情

相关推荐

Origin 2025b中文版安装全指南:避开乱码、水印与崩溃陷阱

Origin作为科研绘图领域的事实标准,其2025b版本首次官方支持简体中文UI,但安装远非‘下一步’即可完成。核心在于理解软件本体、语言包、许可证服务与系统区域设置四者间的耦合关系——尤其Windows非Unicode程序语言必须设为‘中文(简体,中国)’,否则必然触发坐标轴乱码、PDF文字方块等典型故障;而AI辅助拟合、内置Python 3.11等新特性,又依赖正确的字体链(如SimSun)与注册表强制加载(UILanguage=zh-CN)才能稳定启用。该版本广泛应用于材料科学、电化学、XRD/SEM

weixin_42548874的博客 1395

C++程序设计选择题

1、 2、 3、 4、 5、 6、 7、 8、 9、 10、 11、 12、 13、 14、 15、 16、 17、 18、 19、 20、 21、 22、 23、 24、 25、 26、 27、 28、 29、 30、 31、 32、 33、 34、 35、 36、 37、 38、 39、 40、 41、 42 43、 44、 45、 46、 47、 48、 49、 50、 51、 52、 53、 54、 55、 56、 57、 58、 59、 60、 61、 62、 63、 64、 65、 66、 67

qq_40907977的博客 1万+

Python控制tek示波器(1)

如何使用Python来控制tek示波器

m0_47441496的博客 3379

形参和实参

形参和实参 形参:形式上的参数 实参:实际上的参数 例: 把变量a作为参数传递到function1的内部。 -把实参a的值赋值给形参a -function1内部使用的一直是形参a 把数组array作为参数传递到function2的内部。 -把实参array的地址赋值给了形参array -由于地址相同,形参和实参指向的是同一个数组对象 -方法内部操作的数组就是外部声明的数组 ...

学java赚钱养你 591

从D3 00到FF FF:手把手解析RTCM3.2协议帧结构(附Python解析代码)

本文深入解析RTCM3.2协议帧结构,从同步头标识到CRC校验算法,详细讲解如何通过Python代码实现二进制数据解析。文章包含完整的RTCM3.2解析器实现,涵盖消息类型解码、CRC校验等关键步骤,并附赠特定消息类型(如1005型基准站坐标)的解析示例,帮助开发者快速掌握GNSS差分数据传输协议的核心技术。

weixin_42550052的博客 352

【ARM CoreLink 系列 4 -- NIC-400 控制器详细介绍】

正常情况下,一个NIC的实现,可以包含一百多个master和几十个slave,每个master和每个slave都会有一些寄存器,这些寄存器可以被 programming,实际实践中就会对 AMIB 或者 ASIB 或者 IB,当它需要具有 programming的时候,给它指定一个node number。为什么指定Node Number呢?首先,从CPU的角度,它需要有一个1M对齐的地址空间,在这1M地址空间上,对每个ASIB或者AMIB这样的接口给它一个node number以后,

CodingCos的博客 5240

C++基础学习总结

第一章 认识C++对象 一般称现实世界中客观存在的事物为对象; C++语言兼容C语言; .cpp作为文件扩展名,.h作为标识头文件; /*注释直到*/结束,//至本行结束; 提取操作符>>,输入对象 cin;插入操作符<<,输出对象cout; 标准输入输出库的头文件是iostream,使用方法:#incluede <iostream>; endl和\n换行; ...

程序媛一枚 2348

ceph recovery 相关参数

可以修改的最大回填/恢复选项列在 “恢复/回填选项” 部分。mClock 的修改 默认回填/恢复限制由 osd_mclock_override_recovery_settings 选项,设置为 默认为 false。尝试修改任何默认恢复/回填限制而不设置门控选项,会将该选项重置为 mClock 默认值,并在集群日志中记录一条警告消息。请注意,默认值可能需要几秒钟才能恢复生效。请使用 config show 命令验证限制,如下所示。就直接设置以下参数,过一会就变回了默认值。简单点说官网的意思就是不设置。

weixin_40548182的博客 277

C++程序设计试题及答案解析(一)

C++程序设计模拟试卷(一) 一、单项选择题 1. 编写C++程序一般需经过的几个步骤依次是() A. 编辑、调试、编译、连接 B. 编辑、编译、连接、运行 C. 编译、调试、编辑、连接 D. 编译、编辑、连接、运行 答案:B 解析:(P21)经过编辑、编译、连接和运行四个步骤。编辑是将C++源程序输入计算机的过程,保 存文件名为cpp。编译是使用系统提供的编译器将源程序cpp生成机器语言的过程,目标文件为 obj,由于没有得到系统分配的绝对地址,还不能直接运行。连接是将目标文件obj转

MrLuo8的博客 1万+

YOLOv13改进策略【Neck篇】| GSConv 轻量卷积,Slim-Neck 减参数还不掉点

Neck 篇的第二篇继续"替换式"改进,这次的对象是 Neck 里的下采样卷积。GSConv 出自《Slim-neck by GSConv: a better design of lightweight detector》(2022),它的出发点:DWSConv(深度可分离)轻但"信息混不进通道",标准卷积重但表达好——GSConv 用GConv(分组卷积)混通道 + DWConv 补空间 + Channel Shuffle 打散,两全其美。

qq_53329130的博客 30

conda install出现CondaValueError: Malformed version string invalid character(s)解决方案

本文主要介绍了conda install出现Solving environment:failed、CondaValueError: Malformed version string invalid character(s),希望能对新手有所帮助。 文章目录 1. 问题描述 2. 解决方案 2.1 步骤一 2.2 步骤二 2.3 步骤三

weixin_43178406的博客 6万+

关于函数的形参是实参的拷贝的理解

为什么都学到C++了还是写这?因为我刚刚明白了一点东西 首先来个函数和调用 //传值 //按照值的方式传参,将来编译器会生成实参的拷贝 void Swap(int left,int right) { cout << &left << ' ' << &right << ' ' << endl; int temp = le...

nihuhui666的博客 2009

《AgentScope-Java 深入浅出教程》第2章 环境搭建与第一个智能体

创建// 【导入说明】/*** 时间相关工具类* 工具类是普通的 Java 类,通过注解声明为工具。* 智能体可以根据用户需求自动调用这些工具。*/// 【工具定义】获取当前时间@Tool(name = "get_current_time", // 工具名称:LLM 看到的名称description = "获取指定时区的当前时间" // 工具描述:帮助 LLM 理解何时使用// 【参数定义】// @ToolParam 的 name 属性是必需的!

步子哥的博客 417

Java面向对象的基本概念

JAVA面向对象的基本概念

zzq_001的博客 4602

计算机控制技术及应用

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

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

类与对象:Java中的基石概念

类与对象是Java编程中的核心概念,它们为我们提供了一种构建软件应用程序的强大工具。通过理解类与对象的概念、关系及其在Java中的应用,我们可以更好地利用面向对象编程的优势,提高代码的可重用性、可维护性和可扩展性。随着技术的不断进步,面向对象编程将继续发挥重要作用,成为软件开发的基石之一。

2302_76827918的博客 1123

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Java中面向对象的编程概念

面向对象的编程概念(1)-java学习之路一、对象  在面向对象的编程设计中,对象当然是最基本的概念。不知道何为对象,怎么面向对象呢。   对象一词最早来源于哲学,讲到“一切皆对象”,在这里不讨论哲学的问题了。在生活中,我们可以看到很多对象的例子,如狗,猫,桌子,人等。   生活中的对象都有两个共同的属性:状态和行为。人有名字,有体重,有身高等状态,人要吃饭,要学习等行为。根据面向对象编程的思路

小幻的博客 2290

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Java中的类

类 1.介绍类         Java这门编程语言中,首当其冲一个概念就是类,到底什么是类呢,从第一天接触Java开始,一直在写,但却没真正研究过。         类:它是一种抽象的概念。对于初学者来学不容易理解。它代表的是某一特殊的群体、或者是具备一定行为(功能)和属性事物。         为了更好的理解到底什么是类,就从大家生活中的事物入手分析,并让大家慢慢形成概念,进而达到对类...

guizhaiteng的专栏 2174

Java面向对象 类和对象的关系

面向对象设计(Object-Oriented Design,OOD)是软件开发过程中的一个重要阶段,它基于面向对象分析(Object-Oriented Analysis,OOA)的结果,将分析阶段得到的概念和模型转化为实际的、可执行的代码。面向对象设计(Object-Oriented Design,OOD)是在面向对象分析(Object-Oriented Analysis,OOA)之后的一个阶段,它关注的是如何将OOA阶段得到的概念和模型转化为实际的、可执行的代码。面向过程和面向对象在性能上也有所不同。

Code-5的博客 1702

【理解 Java 中的类与对象关系:面向对象编程的核心概念】

在 Java 编程语言中,类(Class)和对象(Object)是构建面向对象程序的基础。这两个概念不仅是 Java 语言的核心组成部分,而且是理解如何设计和实现程序的关键。本文将深入探讨类与对象的关系,以及如何在 Java 中使用它们。类是面向对象编程(OOP)中最基本的构建块,它是一种模板或蓝图,用于创建对象。在 Java 中,类定义了对象的属性(字段)和行为(方法)。类本质上是描述一类事物的抽象,而每一个类的实例(即对象)则是具体的个体。对象是类的实例。

solity123的博客 1040

java面向对象的概念_Java面向对象概念以及类的理解

java是面向对象的编程语言,对象是Java中最基本的概念,但是很多初学者对于对象的概念基本上很模糊。所以如果你不知道什么是对象,怎么掌握面向对象的编程语言。本文会对于Java面向对象概念以及类的概念、类的定义以及类的成员变量进行一个说明。面向对象概念对象:在面向对象程序设计中,我们将问题空间中的元素以及他们在方案空间中的的表示物称作对象(object)。例如生活中的对象:桌子、手机、电脑等,可以...

weixin_39611937的博客 398

什么是面向对象编程,Java中对象、类、方法等概念。

什么是⾯向对象编程,特点 什么是⾯向过程编程? 捕捉⽼⿏ 买⽼⿏笼 放诱饵 等⽼⿏进⼊笼⼦ 把笼⼦关起来 什么是⾯向对象编程 捕捉老鼠 我买只猫,猫有抓⽼⿏的⽅法,对象本身具有的⽅法 放进房⼦⾥⾯就⾏了 复⽤(放到别的房⼦⾥⾯) Java语⾔概念特点(也叫⾯向的基本概念) 维基百科: ⾯向对象程序设计(英语:Object-oriented programming,缩写:OOP)是种具有对象概念的程序编程典范,同时也是⼀种程序开发的抽象⽅针。它可能包含数据、属性、代码与⽅法。 对象则指的是

ruan_luqingnian的博客 1074

Java学习之旅第二季-1:类与对象

本小节是Java学习之旅的第二季的开篇,重点讲解面向对象编程(OOP)的概念。通过具体案例(如Dog类)演示类的声明、实例化(new关键字)和对象使用,帮助读者掌握如何声明类及如何实例化类。特别讲解了null对象的特性及空指针异常问题,为后续深入学习Java打下坚实基础。

摸鱼的老谭 858

Java面向对象之旅:类与对象的奇妙探险

1. 变量与方法的访问权限:通过实验,我学会了如何使用不同的访问修饰符('private'、'protected'、'public')来控制变量和方法的访问权限。2. 构造方法与方法重载:通过类 'Circle' 和 'StudentInfo',我掌握了构造方法的使用和方法重载的概念。3. 类变量与实例变量:通过类 'WildAnimal',我理解了类变量和实例变量的区别,以及如何使用静态方法和实例方法。

wwzzh24的博客 1068

Java面向对象的一些相关概念及设计实例

Java面向对象的一些相关概念及设计实例 1 面向对象的相关概念 1.1 面向对象 面向对象(Object Oriented)是软件开发方法,一种编程范式。面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。面向对象是一种对现实世界理解和抽象的方法,是一种新兴的程序设计方法,或者是一种新的程序设计规范(paradigm),其基本思想是使用对象、类、继承、封装、多态等基本概念来进行程序设计。从现实世界中客观存

weixin_48751654的博客 334

java基础学习总结——面向对象

目录 一、面向过程的思想和面向对象的思想 二、简单理解面向对象 三、面向对象的设计思想 四、对象和类的概念 五、如何抽象出一个类? 六、类(对象)之间的关系 七、Java与面向对象 八、为什么使用面向对象编程?   一、面向过程的思想和面向对象的思想        面向对象和面向过程的思想有着本质上的区别, 作为面向对象的思维来说,当你拿到一个问题时,你分析这个问题不

hello_zhou的博客 3904

java 结构体_Java类和对象的概念

Java是一门面向对象的编程语言,理解Java,首先要理解类与对象这两个概念。Java中的类可以看做C语言中结构体的升级版。结构体是一种构造数据类型,可以包含不同的成员(变量),每个成员的数据类型可以不一样;可以通过结构体来定义结构体变量,每个变量拥有相同的性质。例如:运行结果:小明的年龄是 15,成绩是 92.500000Java中的类也是一种构造数据类型,但是进行了一些扩展,类的成员不但可以是...

weixin_39644146的博客 1万+
上一篇: 【Java面向对象】java的学习之旅08-类和对象
下一篇: 【Java面向对象】java学习之旅10-方法的一些特性
JeffHan^_^
博客等级 码龄7年 1万+粉丝 134原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JeffHan^_^

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值