在String中的null null值

时间:2015-09-24 15:26:38

标签: java string null

我在以下prt(null)收到了编译错误:

 public class Abc {

    public static void prt(String b)
    {
        System.out.println("I m static Method with String");
    }
    public static void prt(Abc n)
    {
        System.out.println("I m static Method with Object");
    }


    public static void main(String[] args) {
        prt(null);

    }

}

但是这个课很好:

public class Abc {

    public static void prt(String b)
    {
        System.out.println("I m static Method with String");
    }
    public static void prt(Object n)
    {
        System.out.println("I m static Method with Object");
    }


    public static void main(String[] args) {
        prt(null);

    }

}

请帮助我理解String,任何类对象和Object类对象中的空值。

1 个答案:

答案 0 :(得分:2)

您应该仔细阅读完整的编译器消息。它可能会抱怨调用prt(null)是不明确的。 实际上你应该对它进行类型转换: prt((String)null) prt((Abc)null)让编译器知道要调用的parameter overloaded方法。

引用探索:

  

它将调用参数类型为其子类的方法   另一种方法的参数类型。谨防!参数类型是   由声明的对象类型定义,而不是其实例化类型。