为什么对象不为null?

时间:2017-11-18 17:49:43

标签: java

public class C

{
   public void foo (D d)
   {
     System.out.println("cd");
   }
}

public class D extends C
{
  public void foo(C c)
  {
      System.out.println("dc");
  }

  public void foo(D d)
  {
    System.out.println("dd");
  }
}

public class Driver
{
   public static void main (String [] args)
   {
      C cd = new D();
      D dd = (D)cd;
      dd.foo(dd);
   }
}

为什么它工作且对象不为null,我会认为cd和dd因为默认构造函数而为null? 这是一个“空”对象,只在堆空间中有一个地址吗? 我需要进一步解释,谢谢。

0 个答案:

没有答案