1、概念
如果一个变量的类型为类类型,而非基本类型,那么该变量就叫做引用;
 
2、对象引用
new Person();
如上,代表创建了一个对象,但也仅仅是创建了,并没有办法去访问它。
 
为了访问这个对象,我们会使用引用来代表这个对象
Person p = new Person();
p代表一个Person的对象,被称为对象引用(reference)。实际上p并不是对象本身,而是类似于一个指向对象的指针。p存在于内存的栈(stack)中;
=的意思指的是p这个引用代表右侧创建的对象;
New是在内存中为对象开辟空间。简单的说是在内存的堆(heap)上为对象开辟空间。保存又对象的数据和方法;
 
3、一个引用,多个对象
好比是一个人,可以放多个风筝。
public class Person{
    public static void main(String[] args) {
         
        //使用一个引用来指向这个对象
        Person p1 = new Person();
        Person p2 = p1;  //p2指向p1所指向的对象
        Person p3 = p1;
         
        //p1,p2,p3 三个引用,都指向同一个对象
    }     
}
 
4、一个引用,多个对象
一个引用,同一时间只能指向一个对象
 
5、垃圾回收
基本原则:当存在引用指向某个对象时,那么该对象不会被回收;当没有任何引用指向对象时,该对象会被清空,它所占据的空间会被收回;
new Person();
Person h = new Person(); 

版权声明:本文为tjc271原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/tjc271/p/12158557.html