Java语言设计,最重要的一个就是对象。“万物皆对象”是java程序语言设计的理念之一。在Java中,我们可以在一个class中编写一个类,而对象就是这个类的实例,有如下代码:
public class Fruit{
private String name;
private String color;
public Fruit(String name, String color) {
this.name = name;
this.color = color;
}
}
我们创建了一个Fruit类,代表水果,这时我们就来创建一个水果的对象fruit:
Fruit fruit = new Fruit("Apple", "Red");
我们可以认为这个fruit是一个对象,是Fruit类的一个实例,但实际上并不是这样的。在Java中,fruit只是一个引用,是一个可以指向Fruit类的对象的引用,真正的创建了一个Fruit对象的是语句的后半句:new Fruit("Apple", "Red");也就是说,fruit只是一个引用,他可以指向任意一个Fruit对象,例如代码:
Fruit fruit2;
fruit2 = new Fruit("Apple", "Red");
fruit2 = new Fruit("Banana", "Yellow");
可以看到,一个引用可以指向不同的对象,同样一个对象也可以被多个引用所指向,例如代码:
Fruit fruit = new Fruit("Apple", "Red");
Fruit fruit2 = fruit;