一、null是代表不肯定的对象
Java中,null是一个关键字,用来标识一个不肯定的对象。因而能够将null赋给援用范例变量,但不能够将null赋给基础范例变量。
比方:int a = null;是毛病的。Ojbect o = null是准确的。
Java中,变量的实用都遵照一个准绳,先定义,而且初始化后,才能够运用。我们不能int a后,不给a指定值,就去打印a的值。这条对关于援用范例变量也是实用的。
有时刻,我们定义一个援用范例变量,在刚开始的时刻,没法给出一个肯定的值,然则不指定值,顺序能够会在try语句块中初始化值。这时刻,我们下面运用变量的时刻就会报错。这时刻,能够先给变量指定一个null值,题目就处理了。比方:
Connection conn = null try { conn = DriverManager.getConnection("url", "user", "password"); } catch (SQLException e) { e.printStackTrace(); } String catalog = conn.getCatalog();
假如刚开始的时刻不指定conn = null,则末了一句就会报错。
java进修视频引荐:java入门进修
二、null自身不是对象,也不是Object的实例
null自身虽然能代表一个不肯定的对象,但就null自身来讲,它不是对象,也不知道什么范例,也不是java.lang.Object的实例。
能够做一个简朴的例子:
//null是对象吗? 属于Object范例吗? if (null instanceof java.lang.Object) { System.out.println("null属于java.lang.Object范例"); } else { System.out.println("null不属于java.lang.Object范例"); }
效果会输出:null不属于java.lang.Object范例
三、Java默认给变量赋值
在定义变量的时刻,假如定义后没有给变量赋值,则Java在运转时会自动给变量赋值。赋值准绳是整数范例int、byte、short、long的自动赋值为0,带小数点的float、double自动赋值为0.0,boolean的自动赋值为false,其他各供援用范例变量自动赋值为null。
四、容器范例与null
List:许可反复元素,能够到场恣意多个null。
Set:不许可反复元素,最多能够到场一个null。
Map:Map的key最多能够到场一个null,value字段没有限定。
数组:基础范例数组,定义后,假如不给定初始值,则java运转时会自动给定值。援用范例数组,不给定初始值,则一切的元素值为null。
五、null的其他作用
1、推断一个援用范例数据是不是null。 用==来推断。
2、开释内存,让一个非null的援用范例变量指向null。如许这个对象就不再被任何对象应用了。守候JVM垃圾接纳机制去接纳。
更多相干文章引荐:java言语入门
以上就是java中null是对象么的细致内容,更多请关注ki4网别的相干文章!