java 理解引用和对象

在java 中有这么一句话,“万物皆对象”,这句话Java程序语言之初的理念之一。我们就需要理解什么是对象,还有什么是引用。

对象定义

在《Java编程思想》中,是这么定义对象的。“按照通俗的说法,每个对象都是某个类(class)的一个实例(instance),这里的类就是类型的同义词”。我们可以从这一句话中可以看出对象的本质,简单的说,它就是类的实例。比如说,所有的人合起来就是人类,这里人类就是类,而具体到某个人的时候,比如智慧这个人,她就是对象。这个就是人类实例。

对象引用

“每种编程语言都有自己的数据处理方式。有些时候,程序员必须注意将要处理的是什么数据类型。你是直接操纵元素,还是用某种基于特殊语法的间接表示(例如c/c++里面指针)来操纵对象,所有这些在Java 中得到了简化,一切都被视为对象。因此,我们就可以采用一种统一的语法,尽管将一切都看作对象,但操纵的标识符实际上是指向一个对象的引用(reference)”.这句话也是来自《java编程思想》,我们先上一个例子:

Person p = new Person("zhihui");

这一句话和下面的效果是一样的

Person p;
p = new Person("zhihui");

在java中new是在堆创建对象的,这里面的Person是一个引用,是指向一个可以指向Person类对象的引用。真正在创建对象是在new Person("zhihui")这一句话中的。然后补充一点,一个引用可以指向多个对象,例如:

Person person;
person = new Person("张三");
person = new Person("李四");

而一个对象也可以是被多个引用指向的。

Person person1 = new Person("张三");
Person person2 = person1;

这里面person1和person2都指向了“张三”这个对象。

猜你喜欢

转载自blog.csdn.net/miracle22222/article/details/85633918