Понимание вызова статического метода и нулевых ссылок
Вопреки распространённым заблуждениям, вызов (статического) метода по нулевой ссылке не приводит к исключение NullPointerException. Чтобы понять такое поведение, важно усвоить концепцию статических методов в Java.
Статические методы: общий ресурс
В отличие от нестатических методов (экземпляров), которые связаны с конкретными экземплярами объектов, статические методы привязаны к классу, которому они принадлежат. Они не требуют доступа к объекту, поскольку работают на уровне типа.
Доступ к статическим методам: через выражения типов
Правильный способ вызова статического метода заключается в использовании выражения типа, такого какWhy.test(). Этот подход гарантирует, что статический метод вызывается непосредственно в классе без участия экземпляра объекта. выражения ссылки на объект, это настоятельно не рекомендуется и может привести к путанице. При использовании этого подхода (Why aNull = null; aNull.test()) объявленный тип ссылки (Why) определяет вызываемый статический метод.
Последствия использования выражений ссылок на объекты
Проверки на null игнорируются: Поскольку объект не требуется, проверка на null для ссылки (aNull) не имеет значения.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3