理解静态方法调用和空引用
与常见的误解相反,在空引用上调用(静态)方法不会导致空指针异常。要理解这种行为,必须掌握 Java 中静态方法的概念。
静态方法:共享资源
与非静态(实例)方法不同,与特定的对象实例相关联,静态方法绑定到它们所属的类。它们不需要访问对象,因为它们在类型级别操作。
访问静态方法:通过类型表达式
调用静态方法的正确方法是通过使用类型表达式,例如 Why.test()。这种方法确保直接在类上调用静态方法,而不涉及对象实例。
陷阱:使用对象引用表达式
尽管 Java 允许通过以下方式访问静态成员对象引用表达式,强烈建议不要这样做,并且可能会导致混乱。使用此方法 (Why aNull = null; aNull.test()) 时,引用的声明类型 (Why) 确定调用的静态方法。
使用对象引用表达式的含义
结论
为了避免混淆并确保可预测性,请始终使用类型表达式调用静态方法。了解静态成员的性质及其访问机制对于编写正确且可维护的 Java 代码至关重要。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3