java对象地址连续_Java面向对象中地址的理解(长期修改)

写在前面:如果变量是基本数据类型,此时赋值的是变量所保存的数据值

如果变量是引用数据类型,此时赋值的是变量所保存的数据的地址值

Java中,引用数据类型定义的变量含有的值,不是null就是地址值(不包括String)

例:

class Student

{

int age;

};

Student a = new Student();

Student b = new Student();

a.age = 1;

b = a;//     a与b指向同一个地址值,因为a与b是由Student定义的

b.age = 2;//a与b的age同时修改

//*************************

b.age = a.age;

b.age = 2; //此时只有b改变 a与b为分开的地址值

//*************************

String类型:

String a = new String();

String b = new String();

a = "name";

b = a;

System.out.println(a+" "+b);

b = "score";

System.out.println(a+" "+b);

这时b与a的值不掺和。

//测试内存分配代码**********************

public class memtext {

public static void main(String[] args) {

memtext test = new memtext();

}

public void first() {

int i = 5;

Value v = new Value();

v.i = 25;

second(v,i);

System.out.println(v.i);

}

public void second(Value v,int i) {

i=0;

v.i = 20;

Value val = new Value();

v = val;

System.out.println(v.i + " " + i);

}

}

class Value{

int i=15;

}

图例:

7ae79a102d8c4a6909e204b97071947b.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值