你不加package book;那java编译器怎么知道这个类是哪个包里面的啊?你只是放在book目录下,但是book又在哪个目录下呢?D:\ ? D:\Program Files? 当然都不太一样http://www.javayou.com

解决方案 »

  1.   

    book目录在哪里无所谓,因为classpath中已经设置了路径。问题是平时我使用Computer.class的时候已经在import中说明了Computer.class的位置是在book中,为何Computer.class中还要重复说明自己是在book这个包里面。
      

  2.   

    1.我有一个包:book,并且SDK能够找到此包,然后我把Computer.class放入此包。2.当我要用Computer.class的时候,我通过import语句告诉SDK,请到book中找这个类。以上步骤已经足够了,为何在当初生成Computer.class的时候一定要加上package book,SDK多此一举,还是有其他方面的原因?
      

  3.   

    如果使用ultraedit和jdk来编写以及编译运行java程序,就没有必要加package
      

  4.   

    回复人: casinosun(姑苏慕容)   解决同名类的问题---------------------------------
    不太了解你的意思,不是说用包就已经可以解决同名类的问题了吗?能说的详细些吗?先谢了。
      

  5.   

    回复人: chenf_(晨晨) 我知道包的用处,问题是包中的class为什么还要说明自己是属于哪个包,既然你都在这个包中间了(已经放置在这个文件夹中),为什么还要用package说明自己是属于这个包?
      

  6.   

    可能大家没有明白我的意识,做个比喻:我可以把<类>比作运动服,<包>比作专卖店。nike的运动服放在nike专卖店,adidas 的运动服放在adidas 专卖店,这是大家都知道的事情,为什么还要在nike运动服上面写上<package nike专卖店>?
      

  7.   

    回复人: tongapple77837(鱼。o 0)  刚开始学java,过于在意细节了:)