java中引用和对象的关系

java中的对象、引用

对象: 在java中有着万事万物皆对象的说法,但在此处的对象指的是实例对象。
引用: 通常来说java程序中的变量名(或常量名)即是“引用”。引用中储存着实例对象的内存地址或者变量“值”。

public class test{
  public static void main(String [] args){
    People peo=new People();
    int num=4;}
}

此处的new People()代码创建了一个实例对象,而peo则是这个实例对象的引用,peo中储存着实例对象的内存地址,可以通过peo来调用实例对象中的属性或方法。
同时,num也是一个引用,其中储存着变量值4。

实例对象与引用的关系: 一个引用指向1个或0个实例变量,而一个实例变量可以有个引用,一旦没有引用指向实例变量,该实例变量就会变成内存垃圾,从而被清理掉。

//首先创造一个类
public class People{
 String name;
 }
public class test{
public static void main(String [] args){
People peo1,peo2,peo3;//此时这三个引用没有指向任何一个实例对象
peo1=new People();//创建一个实例对象,并让peo1指向它
peo1.name="张三";//此时就可以通过引用来对实例对象的name属性赋值
poe2=poe1;
peo3=peo2;//让引用peo2.peo3都指向这个实例变量
System.out.println(peo1.name);
System.out.println(peo2.name);
System.out.println(peo3.name);
//打印结果应该都是“张三”,因为这个三个引用指向同一对象}
People poe4=new People();
peo4.name="李四";//创建一个新的people实例,poe4是它的引用,并把它的name赋值为李四;
System.out.println(peo4.name);//打印结果为“李四”
peo4=peo3;//将peo4指向name为“张三”的实例对象
System.out.println(peo4.name);//打印结果为张三“”
//由于name为"李四"的实例变量没有任何引用,所以它已经被销毁了
}

如图:
这是在peo4还指向实例对象2时
在这里插入图片描述

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值