Java在一个对象中,声明另一个对象,再使用这个对象的变量,这种方式是引用不?

如题,在对象a中声明对象b,接着使用b.b1,那么b1的值是怎么传进a中,是指针传进的?可是b1不就是一个普通的变量?怎么能当指针用?刚学Java,以前看过C,看到引用这... 如题,在对象a中声明对象b,接着使用b.b1,那么b1的值是怎么传进a中,是指针传进的?可是b1不就是一个普通的变量?怎么能当指针用?

刚学Java,以前看过C,看到 引用 这部分有点不清楚。
展开
 我来答
巫难天地难m
推荐于2017-10-04 · TA获得超过263个赞
知道小有建树答主
回答量:173
采纳率:0%
帮助的人:136万
展开全部
你是说
public class A {
private int age=10;
public B b ;
}

class B {

}

a为A类对象实例,b为B类对象实例。当a.b对b赋值的情况吗?你要知道a.b是从a的首地址开始计算出a对象存储的B类引用变量的b的地址,b的内容是在堆内存中存储的。a.b = xx;这里的xx必定也是B类对象的引用变量的值(即B类在堆内存中的首地址)。这里是值传递的形式。Java中的赋值,例如A a = new A();都是值传递的形式。
更多追问追答
追问
类A和类B,类A中声明类B的实例b,类B声明变量ptr,接着在类A中存取b.ptr的值,想问的是这个存取是怎么实现的?比如存一个数字进b.ptr, b.ptr = 12; ,或者取出 b.ptr 的值做其他事,是怎么存取的,这个过程。

是不是以b为指向,获取那个之前声明好的B的实例的内存首地址,然后利用变量的名称ptr来存取变量ptr?
追答
ptr 是基本数据类型的时候,就是将12放进b为首地址后面的某一块地址(ptr)的内存.也就是说b.ptr 这是在计算从b首地址开始(同过类型,名称等,内部实现不必知道)ptr变量的地址,然后放入12, b.ptr也可以说是那块内存的别名。这里ptr是基本数据类型的情况,如果是对象类型,就是把对象类型在堆内存中的首地址赋值进入b.ptr的那块内存中。
lovepanchunwei
2015-01-12
知道答主
回答量:15
采纳率:0%
帮助的人:10.2万
展开全部
引用就是指针。你就这么认为吧。java中传递的是对象的引用,和C语言是不同的。先了解一下什么是面向对象吧。
追问
Java中的引用就是指针,是一种限制的指针,不能参与整数运行和指向任意位置的内存,并且不用显示回收对象。除了Java外,就C#以及VB.NET中出现的引用,都类似于C++中的指针。Java中的采用引用的说法,其实是想程序员忘记指针所带来的痛苦;Java的引用比C++中的指针好用得多了,也容易管理,同时提供内存管理机制,让大家用得安心,写得放心而已。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
胖潘达
2015-01-12 · 超过30用户采纳过TA的回答
知道答主
回答量:130
采纳率:0%
帮助的人:58.5万
展开全部
java里面是不使用指针的哦~~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式