java-对象的引用、对象的比较

本文详细解释了Java中对象与引用的概念,包括如何创建对象引用、引用与对象的区别,以及如何使用equals()方法和“==”运算符进行对象比较。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在java语言中尽管一切都可以看作对象,但真正操作标识符实质上是一个引用,那么引用究竟在java中是如何体现的呢?

语法如下:

类名  对象引用名称

比如一个book类的引用可以使用如下代码:

Book    book;

通常一个引用不一定需要一个对象相关联。引用与对象相关联的语法如下:
Book  book=new  Book();

注意:引用只是存放一个对象的内存地址,并非存放一个对象,严格说引用和对象是不同的,但是可以将这种区别忽略,如可以简单地说book是Book类的一个对象,而事实上应该是book是包含Book对象的一个引用。

对象的比较:

在java语言中有两种对象的比较方式,分别为“==”运算符和equals()方法。实质上这两种方法本质上还是有区别的:

equals()方法是从String类中的方法,它用于比较两个对象引用所指的内容是否相等;

“==”运算符比较的是两个对象引用的地址是否相等。

package a;

public class a {
       public static void main(String [] args)
       {
    	   String c1=new String("abc");
    	   String c2=new String("abc");
    	   String c3=c1;
    	   System.out.println("c2==c3的运算结果是:  "+(c2==c3));
    	   System.out.println("c2.equals(c3)的运算结果为:  "+(c2.equals(c3)));
       }
}

控制台输出结果:
c2==c3的运算结果是:  false
c2.equals(c3)的运算结果为:  true
由于c1和c2是两个不同的对象引用,两者在内存中的位置不同,而Stringc3=c1;语句将c1的引用赋给c3,所以c1和c3这两个对象的引用是相等的,也就是打印c1==c3这样的语句将返回true值。对象c1,c2,c3在内存中布局是:





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值