Java的引用与对象

Java中的对象引用 在这个示例中,我们首先创建了一个名为"john"的Person对象,并将其"name"属性设置为"John Doe"。在方法内部,我们通过引用修改了对象的"name"属性,将其改为"Jane Smith"。在上面的代码中,我们将"person"引用所指向的Person对象的"name"属性设置为"John Doe",然后通过引用打印出相应的问候语,并调用对象的"sayHello"方法。在上面的代码中,我们声明了一个名为"person"的引用,它的类型是Person。对象引用的声明和初始化。 阅读详情

引用与对象

引用可以被理解为一种指针,把它指向哪个对象,它就代表哪个对象。

/**声明一个引用mc,该引用的类型为Myclass类型,
*利用Myclass()方法创建了一个Myclass对象,
*把创建的myclass对象赋值给mc引用*/
Myclass mc = new Myclass();
/**引用的声明不一定被赋予一个对象,也可以是一个空引用*/
Myclass mc = null;

引用相等与对象相等的判断

引用相等与对象相等是两个完全不同的概念:
(1)引用是否相等的判断标准为两个引用是否指向同一个对象,判断方法为“引用1==引用2”,如果两个引用指向同一个对象,表达式的值为true,否则为false
(2)两个对象相等的判断得使用equals()方法,Java中所有的类都继承了Object类的方法,当中的public boolean equals(Object o)方法用来判断目标o所引用的对象与当前对象是否相等,如果相等则返回ture,不相等则返回false

package Liu;
class ObjectA{
	private int i;//私有属性i
	public ObjectA(int n) {      //带参数的对象构造方法
		i = n;
	}
	public boolean equals(Object o) {         //重写equals方法
		if(o instanceof ObjectA) {
			if(i == ((ObjectA) o).i)
				return true;
		}
		return false;
	}
}
public class ObjectEquals {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		ObjectA r1 = new ObjectA(1);
		ObjectA r2 = r1;
		System.out.println("r1,r2为同一对象时:");    //r1,r2为同一对象时
		System.out.println("r2 == r1:" + (r2 == r1));
		System.out.println("r2.equals(r1):" + (r2.equals(r1)));
		r2 = new ObjectA(1);
		System.out.println("r1,r2为不同对象但是对象相等时:");    //r1,r2为不同对象但是对象相等时
		System.out.println("r2 == r1:" + (r2 == r1));
		System.out.println("r2.equals(r1):" + (r2.equals(r1)));
		r2 = new ObjectA(2);
		System.out.println("r1,r2为不同对象时:");    //r1,r2为不同对象时
		System.out.println("r2 == r1:" + (r2 == r1));
		System.out.println("r2.equals(r1):" + (r2.equals(r1)));
	}

}
/**输出如下:
 * r1,r2为同一对象时:
*r2 == r1:true
*r2.equals(r1):true
*r1,r2为不同对象但是对象相等时:
*r2 == r1:false
*r2.equals(r1):true
*r1,r2为不同对象时:
*r2 == r1:false
*r2.equals(r1):false
*/

上述代码能够很好的说明引用比较和对象比较在本质上的不同,引用是否相等是指引用的对象是否为同一个对象,对象是否相等是指对象是否完全相同,引用相等一定能得出对象相等,对象相等不一定引用相等

对象的销毁与内存回收

当内存不足或者调用System.gc()方法时,Java内置垃圾清理器会释放所有不可用的对象内存

Java如何判断对象已弃用

每个对象都用被引用的次数记录,当对象的引用次数为0时,该对象就成了不可用对象,发生垃圾清理时会释放掉对象内存。

垃圾清理器finalize()方法

在对象被垃圾清理器清理时,也许会设计并执行一些代码来释放该对象的相关资源,finalize()方法就提供了这样的功能,在类中可以重写该方法或者直接调用该方法来进行垃圾清理。

System.gc()方法

除非调用System.gc()方法,否则Java内部垃圾清理器只在内存不足的时候才会清理不可用的对象

下载Python3.10的相关方法及问题解决 下载Python3.10的相关方法及问题解决 报错unable to locate package python3.10-dev以及subprocess.CalledProcessError: Command ‘(‘lsb_release‘, ‘-a‘)‘ returned non-zero exit status 1问题解决 阅读详情

相关推荐

ENVI基于Landsat影像构建郑州市2000-2019年遥感生态指数RSEI

本文基于landsat5、landsat7、landsat8三种传感器的影像,使用ENVI软件构建郑州市2000-2019年遥感生态指数RSEI。内含ENVI详细操作、使用的公式以及构建结果。

Lexicopperfield的博客 1万+

Java中的对象

java中的对象

z972065491的博客 7812

ICNN实现入侵检测的思路与源码(CIC-IDS-2017)

基于ICNN实现入侵检测,可用于现实网络

t1274171989的博客 8415

Java中对象的几种引用

随时随地阅读更多技术实战干货,获取项目源码、学习资料,请关注源代码社区公众号(ydmsq666) 在Java中对象的引用有如下四种: 1、强引用(StrongReference) 这是Java最常见的引用方式,创建一个对象,并把它赋给一个引用变量,程序通过该变量来操作实际的对象,当一个对象被其他引用变量引用...

孤云博客 4520

5种隐藏代码到图片的实用技巧:从Notepad++到Linux命令全解析

本文详细解析了5种将代码或文本隐藏到图片中的实用数据隐写技巧。从Notepad++尾部追加、Windows命令行合并,到编辑图像元数据、使用十六进制编辑器,再到Linux的cat/dd命令,全面覆盖了从图形界面到命令行的工程化实践方法,帮助开发者和安全研究人员掌握隐蔽信息传输与存储的核心技术。

hh234的博客 353

高能物理相关软件

国内高能物理实验背景     研究物质最深层次结构及相互作用的前沿基础科学。 现代高能物理实验的要素    实例源 、 探测器、   电子学、  触发 DAQ、  原始数据、 刻度、重建 、物理分析、  成果  。 离线软件的地位和作用。    是硬件设备和物理学家的桥梁,是从数据到物理成果转化中的关键和重要的环节。 高能物理实验及其特点 独一无二性,实验规模越来越大,努力省钱(使用

Alan Zhuang的博客 3298

java中对象引用

文章目录1. 强引用2. 软引用(SoftReference)3. 弱引用(WeakReference)4. 虚引用(PhantomReference)5. 总结 java中对象引用分为强、软、若、虚4中引用,其中强引用就是普通的new一个对象,软引用、弱引用、虚引用都是继承自抽象类Reference。 1. 强引用 程序代码中最常见的引用,比如Persion persion = new Persion(),无论任何情况下,只要强引用关系还在,强引用的对象是可触及的,垃圾回收器就不会回收掉被引用的对象。 如

u010502101的博客 1245

如何判断一个程序员的技术比你强?

技术大佬与普通程序员之间存在明显的认知差异:前者善于将复杂问题抽象为经典计算机科学问题,用声明式代码替代过程式逻辑;对异常和边界条件极度敏感,具备系统化的排查方法论;代码追求高可读性而非炫技,且执着于底层原理研究。这种技术压制体现在解决问题的确定性上——通过扎实的理论功底和工程直觉,快速定位问题本质,而非依赖试错或搜索。真正的技术实力源于对底层逻辑的深刻理解和对系统稳定性的敬畏。

wldtzzming的专栏 1088

JAVA对象的四种引用方式

一、前言: JVM是通过GC机制自动回收内存空间的,不同于c++手动释放空间,在JAVA中设置不同的引用方式就是为了让jvm虚拟机去判断哪些对象应该释放,而哪些对象不能释放.从而使程序更加灵活的控制对象的生命周期。 四种引用级别的高低顺序---(高到底)----->强引用,软引用,弱引用,虚引用; 二 、强引用 (一)含义 创建一个对象,并把这个对象赋值给一个引用变量。 Object obj =new Object(); String str ="hello world!"; 如上所示

Alex_thomas的博客 5166

【生产实践】SSH服务弱加密算法修复指南(附完整操作流程)

SSH服务弱加密算法漏洞修复方案 检测发现SSH服务存在支持弱加密算法漏洞,主要风险包括: 使用arcfour、aes128-cbc等易被破解的算法 面临密钥恢复、重放攻击等安全威胁 提供两种修复方案: 推荐方案:升级OpenSSH至最新版本 替代方案:修改SSH配置禁用弱算法(需注意可能影响旧客户端连接) 修复步骤: 编辑/etc/ssh/sshd_config 注释或删除弱算法配置 添加强加密算法(如aes128-ctr等) 重启SSH服务 注意事项: 建议先在测试环境验证 可能需配合客户端升级 操作前

SunMy的博客 3098

从网口变压器到TVS管:手把手设计通过4KV浪涌的以太网电路

本文详细解析工业级以太网接口4KV浪涌防护设计,从网口变压器选型到TVS管布局,提供通过IEC61000-4-5标准测试的完整方案。重点介绍Bob Smith电路优化和PCB设计技巧,帮助工程师有效应对雷电感应和设备开关瞬态干扰,确保工业设备稳定运行。

study的专栏 283

java 对象相互引用_彻底理解Java对象与引用

本文是最近在复习Java的时候读到的来自iteye博客的一篇文章,个人觉得写的很好,但貌似楼主许久没有维护该博客,害怕将来想回顾的时候找不到此文章,故在此重写文章,并修改了一些排版,有助于以后的学习查阅。一、关于对象与引用之间的一些基本概念为便于说明,先定义一个类:class Vehicle {int passengers;int fuelcap;int mpg;}有了这个类,就可以用它来创建对象...

weixin_31493023的博客 2634

【智能模型系列】基于Unity和MediaPipe【手部追踪+手势识别】系统开发指南

在本文中,我将详细介绍一个基于MediaPipe的Unity手势识别系统,该系统能够识别多种常见手势(如拳头、点赞、胜利手势等),并提供完整的事件系统来处理手势状态变化。这个系统非常适合用于VR/AR交互、手势控制游戏或任何需要自然用户界面的应用场景。

纯技术流日常开发商业开发记录总结等 582

java--对象引用与对象的区别

在java学习中,理解对象以及对象的引用是万里长征的第一步。但是,现在大量的java学习书籍都将对象以及对象的引用混为一谈,然而实际上它们有着本质的区别。为了帮助更多的java学者更好的理解,我将自己的学习理解记录下来。如有理解不全或者错误的地方,欢迎大家批评指正。

王小的博客 1万+

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

java对象与引用_Java对象与引用

一、关于对象与引用之间的一些基本概念为便于说明,先定义一个类:class Vehicle {int passengers;int fuelcap;int mpg;}有了这个类,就可以用它来创建对象:Vehicle veh1 = new Vehicle(),通常把这条语句的动作称之为创建一个对象,其实,它包含了四个动作:new VehicleVehicle veh1=我们可以把这条语句拆成两部分...

weixin_39638464的博客 104

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Java中对象的赋值与引用

转载于:Java中对象的赋值与引用https://blog.youkuaiyun.com/yz930618/article/details/76278997 Java中对象的赋值与引用一直以来都理解的很模糊,所以打算写这篇博客理解透彻: 为了便于说明和理解,先定义一个简单的类: public class Solution { private int a; private int b...

qq1164014750 1万+

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

java 对象的引用_java对象与引用

关键字: java对象 引用Java对象及其引用关于对象与引用之间的一些基本概念。初学Java时,在很长一段时间里,总觉得基本概念很模糊。后来才知道,在许多Java书中,把对象和对象的引用混为一谈。可是,如果我分不清对象与对象引用,那实在没法很好地理解下面的面向对象技术。把自己的一点认识写下来,或许能让初学Java的朋友们少走一点弯路。为便于说明,我们先定义一个简单的类:class Vehicle...

weixin_39754142的博客 435

Java—对象的引用与传递

初步了解引用传递 引用传递也称为传地址,指的是在方法调用时,传递的参数是按引用进行传递,其实传递的是引用的地址,也就是变量所对应的内存空间的地址。 方法调用时,实际参数的引用——地址被传递给方法中相对应的形式参数,即形式参数和实际参数拥有相同的存储单元。在方法执行过程中,对形式参数的操作实际上就是对实际参数的操作,因此形式参数值的改变将会影响实际参数的值。 如果要想进行引用传递分析,那么首先需要先清楚两块内存。 ⑴ 堆内存:堆内存可以理解为一个对象的具体信息,每一个对象保存的只是属性信息,每一块堆内存的开辟

LiLi的博客 6594

Java中对象与引用

初学Java 时,在很长一段时间里,总觉得基本概念很模糊。后来才知道,在许多Java 书中,把对象和对象的引用混为一谈。     如果分不清对象与对象引用,那实在没法很好地理解下面的面向对象技术,把自己的一点认识写下来,或许能让初学Java 的朋友们少走一点弯路。             为便于说明,我们先定义一个简单的类:        class student{  

fbz123456的博客 824

java对象与对象引用变量

Java对象及其引用 先搞清楚什么是堆,什么是栈。 Java开辟了两类存储区域,对比二者的特点 存储区域 存储内容 优点 缺点 回收 栈 基本类型的变量和对象的引用变量 存取速度比堆要快,仅次于寄存器,栈数据可以共享 存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。栈中主要存放一些基本类型的变量 当超过变量的作用域后,Java会自动释放...

an-ping的博客 1万+

java对象与引用_java对象与引用

咱们先定义一个简单的类:class Vehicle {int passengers;int fuelcap;int mpg;}有了这个模板,就能够用它来建立对象:---若对对象与类概念模糊的能够看: 对象与类详解Vehicle veh1 = new Vehicle();一般把这条语句的动做称之为建立一个对象,其实,它包含了四个动做。1.右边的new Vehicle();是以Vehicle类为模...

weixin_39649611的博客 117

java对象与对象的引用

Java对象与对象的引用的区别 直接通过以下代码观察: Person person = new Person("张三"); 以及第二种。 Person person; person = new Person("张三"); 这两行代码实现的功能和上面的一行代码是完全一样的。大家都知道,在Java中new是用来在堆上创建对象用的,如果person是一个对象的话,那么第二行为何还要通过new来创建...

qq_45700147的博客 198

Java对象与Java对象引用的区别

Java对象与Java对象引用的区别 对象是对客观事物的抽象。 Strawberry q; 该句代码产生一个Strawberry的声明,但没有任何的对象产生,也没有为该对象分配内存空间。而在C++中,此时已产生一个对象。 q = new Strawberry(); 或 Strawberry q = new Strawberry(); 代码产生了对象,并将对象赋予给声明q。对象和对象的声明不是一...

weixin_44762496的博客 160

彻底理解Java对象与引用

一、关于对象与引用之间的一些基本概念   为便于说明,先定义一个类: class Vehicle { int passengers; int fuelcap; int mpg; }   有了这个类,就可以用它来创建对象: Vehicle veh1 = new Vehicle() ,通常把这条语句的动作称之为创建一个对象,其实,它包含了四个动作: new Vehicle Vehicle veh1...

qazqwerqaz的博客 165
上一篇: Java修饰符
下一篇: 在Java中操作数据类型
practical_sharp
博客等级 码龄8年 499粉丝 148原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值