English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
В Java каждый тип имеет defaultManager, когда вы не инициализируете переменные класса, компилятор Java использует эти значения для инициализации их вместо вас. Null - это defaultManager для типа объекта, и вы также можете вручную присвоить null объекту в методе.
Object obj = null;
Однако, вы не можете использовать объект с значением null или (если вы используете значение null вместо объекта) объект, и это вызовет 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 in thread "main" java.lang.NullPointerException at july_set3.Demo.main(Demo.java:11)
Вы также можете использовать ключевое слово throw для вызова NullPointerException в Java.
public class ExceptionExample { public static void main(String[] args) { System.out.println("Hello"); NullPointerException nullPointer = new NullPointerException(); throw nullPointer; } }
Результат вывода
Hello Exception in thread "main" java.lang.NullPointerException at MyPackage.ExceptionExample.main(ExceptionExample.java:6
Согласно документации Java, если вы пытаетесь выполнить NullPointerException-
Вызов метода a объекта с помощью null (экземпляра).
Доступ, изменение, печать полей пустой величины (объекта).
Попытка доступа (печать/использование в предложении) длины пустой величины.
Выбрасывается пустая величина.
Доступ или изменение элемента/слота с пустой величиной.
означает, что если抛ается пустая величина, то происходит исключение NullPointer, это не преобразование в более высокий тип.
public class Demo { public static void main(String args[]) { throw null; } }
Exception in thread "main" java.lang.NullPointerException at july_set3.Demo.main(Demo.java:5)