什么叫引用?

1.什么叫引用?
答:1. 首先,你要明白什么是变量。变量的实质是一小块内存单元。这一小块内存里存储着变量的值
比如int a = 1;
a就是变量的命名,1就是变量的值。
而当变量指向一个对象时,这个变量就被称为引用变量
比如A a =new A();
a就是引用变量,它指向了一个A对象,也可以说它引用了一个A对象。我们通过操纵这个a来操作A对象。 此时,变量a的值为它所引用对象的地址。

其中:
(1)引用数据类型包括:类、接口类型、数组类型、枚举类型、注解类型,字符串型;
(2)引用数据型在被创建时,首先要在栈上给其引用(句柄)分配一块内存,而对象的具体信息都存储在堆内存上,然后由栈上面的引用指向堆中对象的地址。
(3)引用数据类型为java两大数据类型之一。
参考:https://blog.csdn.net/qq_14989227/article/details/79589342

  1. 在java实现某个功能的时候,会将类实例化成对象,然后jvm再对实例化后的对象进行操作。
    实例化后的对象可以赋值,也可以引用。赋值时,java会开辟一个新的地址用于存放变量,而引用则不开辟地址。

String a = “a”;
String b = “a”;
将String类实例化成对象a与b,并赋值
String c = new String(“a”);
将c指向new出来的String型对象"a"
System.out.println(a == b);
System.out.println(a == c);
由于a与b都为对象赋值,打印出来的结果应该是true
而c是引用对象“a”,所以打印出来的结果应该是false
对象:一个类的具体实例化;

引用:对象的别名,使用该别名可以存放该对象,编译器不会为引用分配空间,新对象与源对象共用一个存储地址空间;引用的生命周期是它所引用的对象的生命周期,函数里返回一个局部对象的引用是很危险的

参考:https://zhidao.baidu.com/question/412004880.html

2. 引用的描述
答:
(1)引用不是指针
(2)引用本身也是一种数据类型
(3)引用不是对象本身
(4)一个对象可以被多个引用指引,例如:String对象,String a1=“abc”;String b1=“ab”

猜你喜欢

转载自blog.csdn.net/weixin_42631192/article/details/88171132
今日推荐