栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

引用和对象

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

引用和对象

引用和对象
  • 定义
  • 引用的赋值
    • ==和Arrays.equals()区别
  • 解引用
  • 引用类型支持的操作符
  • NullPointerException 异常

定义

所谓的引用或者对象,都是内存中数据的一种规定的组织方式。
引用提供给程序员一个间接操作对象的方式。
通过一个引用,管理着一个对象,引用指向对象
所谓的数组,其实准确的表述都是数组对象,还有我们直接学习过的字符串,其实是也是对象,只是被 String 类型的引用指向的对象。
只能引用指向对象,不能对象指向引用,也不能有引用指向引用,更不会对象指向对象。
引用同一时刻只能指向一个对象;对象同一时刻可以被多个引用指向。
引用可以不指向任何对象,就是对象为null的时候;
这时候就是空指针异常。

int[] a = null;

举例:

String s = "Hello World"; // 这里的 s 的类型是 String 类型的引用;该引用指向了一个String 类型的对象。
int[] a = { 1, 2, 3, 4, 5 }; // 这里的 a 的类型是 int[] 类型的引用;该引用指向了一个
元素类型是 int 的数组类型对象。

引用的赋值

引用的赋值运算,是让被赋值的引用指向该引用当前指向的对象。

int[] a = { 1, 2, 3, 4, 5 };
int[] b = null;
b = a; // 让 b 指向 a 目前指向的对象
int[] a = null; // a 不指向任何的对象
int[] b = { 1, 2, 3, 4, 5 };
b = a; // 让 b 指向 a 目前指向的对象
 // 由于 a 目前不指向任何的对象。所以 b 也不再指向任何的对象

引用的相等与不等比较,是比较两个引用是否指向同一个对象

int[] a = { 1, 2, 3, 4, 5 };
int[] b = { 1, 2, 3, 4, 5 };
a == b; // 由于 a 和 b 指向不同的对象,所以结果是 false
a != b; // 由于 a 和 b 指向不同的对象,所以结果是 true
b = a; // 让 b 指向 a 目前指向的对象
a == b; // 由于 a 和 b 指向相同的对象,所以结果是 true
a != b; // 由于 a 和 b 指向相同的对象,所以结果是 false
==和Arrays.equals()区别

“==”比较两个引用是否指向同一个对象

“equals()”比较字符串中所包含的内容是否相同。

解引用

对一个引用进行解引用,就是通过引用,找到该引用指向的对象。

int[] arr = { 1, 2, 3, 4 5 };
System.out.println(arr.length);

这里就是要对 arr 这个引用做解引用动作,也就是找到 arr 指向的数组对象,然后发布获取其长度的命令。
通过引用==[下标]==,进行解引用操作

int[] arr = { 1, 2, 3, 4, 5 };
System.out.println(arr[0]);
引用类型支持的操作符
int[] a = { 1, 2, 3, 4, 5 };
int[] b = null; b = a; // 赋值操作符,支持
b == a; // 比较操作符,支持
b != a; // 比较操作符,支持
b[0]; // 解引用操作符,支持
b.length; // 解引用操作符,支持
NullPointerException 异常

通常被称为空指针异常。
在对一个引用做解引用的动作时,如果引用 == null,表示这个引用不指向任何的对象。就是空指针异常,则此时在对该引用使用 . 或者 [] 操作符,就会抛出 NullPointerException 了。
举例:
空指针的时候解引用就会出现空指针异常。

int[] arr = null;
System.out.println(arr.length);
// 运行结果,会出现运行时异常
Exception in thread "main" java.lang.NullPointerException
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/310188.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号