在 Java 中使用 null 调用方法


当一个方法在 null 引用上被调用时,会抛出 NullPointerException,但在静态方法的情况下,我们可以使用强制转换表达式来使其成为可能。见以下示例 −

示例

在线演示

public class Tester {
   public static void display(){
      System.out.println("display");
   }
   private void print() {
      System.out.println("print");
   }

   public static void main(String[] args) {
      //Scenario 1:
      //Calling a method on null reference
      //causes NullPointerException
      try {
         Tester test = null;           test.print();
      }catch(Exception e) {
         System.out.println(e.getMessage());
      }

      //Scenario 2:
      //Static method can be invoked
      //on a null object by using the casting expression
      ((Tester)null).display();
   }
}

输出

null
display

备注

  • 场景 1 演示了导致 NullPointerException 的代码。

  • 场景 2 演示了通过在 null 对象上计算类名称的方式使用静态方法。

更新于: 18-6-2020

584 次浏览

开启你的 职业生涯

通过完成课程获得证书

开始学习
广告