Java中声明对象以及声明时赋值为null的区别 您所在的位置:网站首页 null是对象吗 Java中声明对象以及声明时赋值为null的区别

Java中声明对象以及声明时赋值为null的区别

2024-07-08 17:06| 来源: 网络整理| 查看: 265

在Java中,一个对象声明时不赋值与赋值为null到底有何区别。如果在方法中声明变量,声明时不赋值和给个null是不一样的,赋值null也相当于完成了初始化赋值,这个时候可以通过编译也可以可以调用对象方法,但必然会报空指针异常。但Java中成员变量不需要赋予初始值,但一般会有一个默认初值,基本类型如int初值为0,除基本类型变量外,其他对象的初始值都是null.

总之,一个局部对象使用之前肯定要先赋值,但不管你在什么时候赋值。

所以,无论是成员变量还是局部变量,声明的时候不赋值只声明当然是可以的。

像这种String str = xxx; 不管xxx是null还是其他字符串,str这个东西都是在栈里有块空间,=null的时候,里面栈存的是null,非null的时候栈存的是实际字符串的地址(堆中或者常量池中)。而String str,这种情况,jvm同样也为其分配了一块空间,但是不知道值是多少,java语法要求引用之前必须初始化,所以你直接这么写,str根本不能引用。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有