java中对象和引用的理解

最近利用下班的时候看了看的think in java感觉再看 和第一次看大不一样

接下来说一下java中对象和引用的关系

1、java中一切都是对象

 在java中是什么来操作者对象呢?答案是引用,这就好比C或者C++中的指针。

如果用拥有一个引用,那么此时你必须让其和一个对象关联在一起,否则这个引用并不会像你想象的那样任由你的控制,例如你创建了一个String的引用:

String  s ;

而此时并未与任何对象关联,如果此时你去做一些操作,如调用String的一些方法,肯定是会出现问题,(一些基本类型除外,因为你在定义的时候,它们就会赋予初始值的),所以在使用钱必须和对象进行关联:

String s = new String();或者 String s = “my name is ajun”;

像这样就可以了。

2、怎么和对象进行关联

在java中通常会通过new来创建一个对象,来和引用进行关联,如:

String s = new String("my name is ajun");

这样不仅创建了一个对象和引用s进行关联,同事也进行初始化,同时我们也可以创建属于自己的对象类型。

3、存储位置

①堆栈:一般存储引用和基本类型变量,堆栈主要是通过堆栈指针上下移动来对内存进行分配和释放。

基本类型变量并不适应于new进行创建,因为其所占的内存较小。

②堆:用于存储java对象,当程序执行new的时候,堆就会分配一个空间给这个对象,记住堆进行内存的分配和释放是比堆栈进行存储和释放内存消耗更多的时间,这就是基本类型变量要存在堆栈中了,因为基本类型变量是用的最频繁的,频繁的存储和释放内存,在消耗更多的时候,性能可想而知的。


你可能感兴趣的:(java,c,String,存储)