English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
En Java, cada tipo tiene un valor predeterminado, cuando no inicializa las variables de instancia de la clase, el compilador de Java usará estos valores para inicializarlas por usted. Null es el valor predeterminado del tipo de objeto, también puede asignar manualmente null a un objeto en el método.
Object obj = null;
Pero, no puede usar un objeto con valor null o (si se usa un valor null en lugar de un objeto) el objeto, lo que generará NullPointerException.
public class Demo { String name = "Krishna"; int age = 25; public static void main(String args[]) { Demo obj = null; System.out.println(obj.age); System.out.println(obj.name); } }
Exception en thread "main" java.lang.NullPointerException en july_set3.Demo.main(Demo.java:11)
Según la documentación de Java, si intenta ejecutar NullPointerException-
使用空对象调用a方法(实例)。
访问,修改,打印空值(对象)的字段。
尝试访问(打印/在语句中使用)空值的长度。
抛出一个空值。
访问或修改具有空值的元素/插槽。
在Java数组中,引用类型就像类一样,因此,发生NullPointerException的场景几乎相似。使用数组时,发生NullPointerException-
如果尝试访问尚未初始化的数组的元素(为null)。
public class Demo { public static void main(String args[]) { int myArray[] = null; System.out.println(myArray[5 } }
Exception en thread "main" java.lang.NullPointerException en july_set3.Demo.main(Demo.java:6)
Si intenta obtener la longitud de un array no inicializado (es null).
public class Demo { public static void main(String args[]) { int myArray[] = null; System.out.println(myArray.length); } }
Exception en thread "main" java.lang.NullPointerException en july_set3.Demo.main(Demo.java:6)
Si intenta llamar a cualquier método en un array no inicializado (es null).
public class Demo { public static void main(String args[]) { int myArray[] = null; System.out.println(myArray.toString()); } }
Exception en thread "main" java.lang.NullPointerException en july_set3.Demo.main(Demo.java:6)