java中变量和对象的区别

是不是可以理解为,没有开辟内存空间的都是变量,开辟了内存空间的对象?

4个回答

变量包括简单变量(int float byte)也包括对象引用。对象可以算变量的一种。

只要声明了变量就分配了空间,只不过它一般是放在栈内存里面而已。

个人的理解:
变量范围比较广,声明出的东西都是用户的变量。

int a;
String b;
Data d;

而Java很重要的一个特点是面向对象,特别喜欢把什么东西都搞一个class类出来。对于class的实例化,我们称其为类的实例,

String str=new String();

其中的str细化来看是该实例的句柄,其值本身应该是一个栈中的地址值,指向堆中的一块内存;但是宏观一点看,我们说str是一个String对象,指的是连着句柄和它指向的空间,并没有刻意区分
至于题主想区分的应该是“基本数据类型”和“封装类”

可以这么理解
变量只是分配了栈内存,并没有分配内存空间,而对象是已经在内存中占用了空间的。
变量声明之后如果没有进行赋值,是不能在代码中使用的。而对象是可以在代码使用,并使用它的成员变量或者方法。

caozhy
贵阳老马马善福专门编写代码的老马就是我! 这根本就是瞎说,难道你没听说“成员变量”么?
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!