java对象与引用,Java中对象与引用有何区别

对于刚刚接触JAVA的同学,在学习面向对象时,非常容易混淆一个概念:什么是对象,什么又是引用?有很大一部分同学对这两个概念定义十分模糊,给出的答案总让人觉得模棱两可,然而在第一阶段中对对象和引用概念的认识,是一个硬性要求——以下内容可以让学生在比较简单易懂的描述中对引用和对象有一个清晰的认识:

假设我们定义了一个Animal类。

有了这个Animal类之后,我们可以来创建一个Animal对象:

Animal an = new Animal();

我们把编写这个语句的动作就称作创建一个对象,细化这个动作为:

1. 右面的”new Animal”,是以Animal类为模板的,在堆空间里创建一个Animal对象;

2. 末尾的”( )”代表着:在对象创建之后,立即调用Animal类的构造函数,对新生成的对象进行初始化。(如果没构造函数,Java会有一个默认的构造函数的);

3. 左面的”Animal an” 创建了一个Animal类引用变量。即以后可以用来指向Animal对象的对象引用;

4. “=” 操作符使对象引用指向刚才创建的那个Animal对象。

拆分开也就是:等同于

Animal an;

an = new Animal();

有两个实体:一个是对象引用变量;一个是对象本身。

在java中,都是通过引用来操纵对象的,这也是两者的区别。

对于刚刚接触JAVA的同学,在学习面向对象时,非常容易混淆一个概念:什么是对象,什么又是引用?有很大一部分同学对这两个概念定义十分模糊,给出的答案总让人觉得模棱两可,然而在第一阶段中对对象和引用概念的认识,是一个硬性要求——以下内容可以让学生在比较简单易懂的描述中对引用和对象有一个清晰的认识: 假设我们定义了一个Animal类。 有了这个Animal类之后,我们可以来创建一个Animal对象: Animal an = new Animal(); 我们把编写这个语句的动作就称作创建一个对象,细化这个动作为: 1. 右面的”new Animal”,是以Animal类为模板的,在堆空间里创建一个Animal对象; 2. 末尾的”( )”代表着:在对象创建之后,立即调用Animal类的构造函数,对新生成的对象进行初始化。(如果没构造函数,Java会有一个默认的构造函数的); 3. 左面的”Animal an” 创建了一个Animal类引用变量。即以后可以用来指向Animal对象的对象引用; 4. “=” 操作符使对象引用指向刚才创建的那个Animal对象。 拆分开也就是:等同于 Animal an; an = new Animal(); 有两个实体:一个是对象引用变量;一个是对象本身。 在java中,都是通过引用来操纵对象的,这也是两者的区别。
经验分享 程序员 微信小程序 职场和发展