解决方案 »

  1.   

    我复制执行了下,是可以的。你是怎么复制的?  
    是把这些类放到了同一个文件中? 如果是这样,应该没问题的。
    如果把这些类放到不同的文件中,那他们是否在同一个package中,如果是这样,那也应该没问题的。或者你把所有类都定义成public,再试下。
      

  2.   


    这个文件的所有类我都放在了package type_infomation;这个包中,所以应该不是你所说的那个问题。
    我的运行结果是这样的:
      

  3.   

    Class.forName("Gum");"Gum"改成“type_infomation.Gum"。
      

  4.   

    我发现原因了,改成Class.forName("type_infomation.Gum");就可以正常运行,原来它不仅需要类名,而且需要包名。
    修改后运行结果
    inside main
    Loading Candy
    After creating Candy
    class type_infomation.Candy
    Loading Gum
    After Class.forname("Gum")
    Loading Cookie
    After creating Cookie
      

  5.   

    嗯,package + 类名,唯一确定一个类。
      

  6.   

    还有一个解决办法。
    把“package type_infomation;”删掉就可以了。