CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  J2SE / 基础类

初学Java就被难住了,Java怎么会是这样的? 问题二

楼主JerryOne()2006-11-07 09:58:28 在 Java / J2SE / 基础类 提问

有关包的使用,以下是我写的生成包和导入包的两个类  
  一、生成包类  
  package   parent.child;  
  public   class   Location  
  {  
  public   void   disp()  
  {  
  System.out.println("child子包中的Location类");  
  }  
  public   Location()  
  {  
  disp();  
  }  
  }  
   
  二、导入类  
  //import   parent.child.Location;       //     (1)  
  import   parent.child.*;//       (2)   用*号为什么出错?但Jbuilder2005却可以  
  public   class   ParentTest  
  {  
  public   static   void   main(String   args[])  
  {  
                                      Location   loc   =   new   Location();  
                                      //parent.child.Location   loc   =   new   parent.child.Location();  
  }  
  }  
   
  问题:  
  当使用(1)中的语句import   parent.child.Location导入具体的类时,没有任何问题  
  当使用(2)中的语句import   parent.child.*导入child所有类时,编译不能通过  
   
  困惑,请问这是什么原因,导入具体类都可以,导入所有类为什么会出错?  
   
  问题点数:20、回复次数:40Top

1 楼mengfanpp(梦凡)回复于 2006-11-07 10:16:20 得分 0

不该呀!Top

2 楼mengfanpp(梦凡)回复于 2006-11-07 10:20:26 得分 2

没问题,我刚才试过了,楼主是不是文件路径不对,建议使用Eclipse编译!Top

3 楼gaolch(时间就像乳沟,挤挤还是有的。)回复于 2006-11-07 10:59:44 得分 0

人品问题:)Top

4 楼JerryOne()回复于 2006-11-07 11:05:05 得分 0

TO   mengfanpp(梦凡):  
  没问题,我刚才试过了,楼主是不是文件路径不对,建议使用Eclipse编译!  
   
  我在Jbuilder2005两种方式都可以正确执行,但在命令行窗口就有下列问题了  
  当使用(1)中的语句import   parent.child.Location导入具体的类时,没有任何问题  
  当使用(2)中的语句import   parent.child.*导入child所有类时,编译不能通过  
   
   
  Top

5 楼mengfanpp(梦凡)回复于 2006-11-07 11:10:58 得分 0

我就是用的cmdTop

6 楼angelleecash(失学儿童)回复于 2006-11-07 11:12:03 得分 1

我没碰到过这种问题,而且我认为这种问题都是classpath的问题,可是你没有把你出错的信息贴出来,没有办法,帮你解决.Top

7 楼jmukirin()回复于 2006-11-07 11:42:54 得分 0

编译过不去的时候报什么错Top

8 楼zhushengbiao()回复于 2006-11-07 12:11:09 得分 2

回答第2个,你可能没把*.java的文件也放入包内,因为只把类文件放入的话是无法用*号来导入所有Top

9 楼zhuixun5506(>> narsil)回复于 2006-11-07 15:27:56 得分 0

没遇到过,Top

10 楼zwgaa(学习大师)回复于 2006-11-07 15:38:00 得分 1

把类包加到CLASSPATH环境变量里Top

11 楼moon_cool(月影剑)回复于 2006-11-07 15:41:34 得分 2

我只能说……  
  这是编译器的bug  
  我也碰到过Top

12 楼tntxia(虾)回复于 2006-11-07 17:01:58 得分 0

没试过Top

13 楼kiddy8254()回复于 2006-11-07 17:26:25 得分 1

你用的什么平台?建议用Eclipse平台,不过构建平台有点烦,多查点资料就搞的定了!Top

14 楼JerryOne()回复于 2006-11-07 18:32:56 得分 0

Location.java和ParentTest.java在同一路径  
  生成的Loation.class在当前路径的   parent.child下面,  
  用导入包import     parent.child.Loaction;没有问题  
  但用导入包import     parent.child.*;编译时通不过  
  错误信息如下:  
  ParentTest.java:18:   cannot   access   Location  
  bad   class   file:   .\Location.java  
  file   does   not   contain   class   Location  
  Please   remove   or   make   sure   it   appears   in   the   correct   subdirectory   of   the   classpath.  
                                      Location   loc   =   new   Location();  
                                      ^  
  1   error  
   
  我用Jbuilder2005两种方式都可以通过  
   
   
   
   
   
  Top

15 楼JerryOne()回复于 2006-11-07 18:35:30 得分 0

以上是在命令提示行下运行,环境变量classpath有设置当前路径.Top

16 楼XXKKFF(齐次边界条件有界弦自由振动方程混合问题的分离变量法-_-!!!)回复于 2006-11-07 18:43:27 得分 0

经常看见梦凡~~~Top

17 楼JerryOne()回复于 2006-11-07 18:55:27 得分 0

解决了,把Location.java放在parent.child里面两种都没有问题  
  但为什么Location.java和ParentTest.java在同一目录时  
  用导入包import     parent.child.Loaction;没有问题  
  但用导入包import     parent.child.*;编译时通不过  
   
  这个问题改如何解释呢?Top

18 楼xc116()回复于 2006-11-07 18:59:58 得分 0

classpath设置的问题Top

19 楼mengfanpp(梦凡)回复于 2006-11-07 20:32:23 得分 0

XXKKFF(讠古   钅):  
  学习么!Top

20 楼e_ville()回复于 2006-11-07 22:40:09 得分 0

初学者用JB,实在不是好的选择!!因为有些问题是JB造成的,不是Java问题!Top

21 楼hl8189(9)回复于 2006-11-08 09:04:49 得分 2

你那个在Eclipse中是不存在问题的,你的第一个加包,第二个为什么不加呢?你故意的还是忘记了?建议每个类的前面都要加上个包名,便于管理。Top

22 楼JerryOne()回复于 2006-11-08 09:24:25 得分 0

TO   e_ville()  
  初学者用JB,实在不是好的选择!!因为有些问题是JB造成的,不是Java问题!  
   
  我用JB編譯沒有問題,現在是用CMD編譯的時候出了問題,把Loation.java也放在parent.child下面也可正常運行,就是放在當前目錄下面的時候javac   ParentTest.java不能編譯通過。  
  但import   parent.child.Location導入具體類卻有可以編譯  
   
   
  TO   hl8189(9)  
   
  你那个在Eclipse中是不存在问题的,你的第一个加包,第二个为什么不加呢?你故意的还是忘记了?建议每个类的前面都要加上个包名,便于管理。  
   
  我還沒學會用Eclipse,現在基本用CMD,第一個加包,第二個我想從parent.child.*導入類  
   
  Top

23 楼wlmzfx(Dreams)回复于 2006-11-08 10:12:22 得分 0

编译器问题  
  程序没有问题  
  如果程序有问题的话,那java中就没有办法用.*导入包了Top

24 楼robber(海盗)回复于 2006-11-08 11:15:19 得分 0

是环境问题Top

25 楼windproof(windproof)回复于 2006-11-08 11:25:25 得分 0

我用Jbuilder2006编译通过!没有问题!Top

26 楼JerryOne()回复于 2006-11-08 11:30:08 得分 0

To   zhushengbiao()    
  回答第2个,你可能没把*.java的文件也放入包内,因为只把类文件放入的话是无法用*号来导入所有  
   
  是這樣的嗎?那麼就是說.class和.java文件必須放在一起才能用import.*了?  
  直接導入類都可以,謝謝你的提醒  
  我再測試一下,  
  Top

27 楼JerryOne()回复于 2006-11-08 11:32:37 得分 0

To   windproof()    
  我用Jbuilder2006编译通过!没有问题!  
   
  我用Jbuilder2005也可以通過,沒有問題,  
  問題在於用命令行CMD編譯時,import.parent.child.Location;可以通過  
  import.parent.child.*;編譯時就出錯了  
   
  错误信息如下:  
  ParentTest.java:18:   cannot   access   Location  
  bad   class   file:   .\Location.java  
  file   does   not   contain   class   Location  
  Please   remove   or   make   sure   it   appears   in   the   correct   subdirectory   of   the   classpath.  
                                      Location   loc   =   new   Location();  
                                      ^  
  1   errorTop

28 楼MagicianLiu(魔术师·刘)回复于 2006-11-08 12:03:17 得分 2

在CMD下编译要注意路径问题。。  
  编译完应该时这个结构  
  /parent/child/Location.java  
  /parent/child/Location.class  
  /ParentTeset.java  
  /ParentTeset.class  
  Top

29 楼88324877(寂寞呆头鱼)回复于 2006-11-08 12:18:06 得分 0

我用cmd试过也和楼主一样的问题,JCreator试了下也有上述问题,估计是BUG    
  Jbuilder整合了开发环境,可以通过  
  Top

30 楼88324877(寂寞呆头鱼)回复于 2006-11-08 12:20:49 得分 2

导人*.class并不是个好习惯,你看的懂别人但是别人看的吃力,最好目标明确点导入确定的类,  
  人人为我,我为人人Top

31 楼JerryOne()回复于 2006-11-08 13:47:09 得分 0

MagicianLiu(魔术师·刘)    
  在CMD下编译要注意路径问题。。  
  编译完应该时这个结构  
  /parent/child/Location.java  
  /parent/child/Location.class  
  /ParentTeset.java  
  /ParentTeset.class  
   
  是的,照这样编译可以正常编译运行  
   
  TO   88324877(寂寞呆头鱼)    
  我用cmd试过也和楼主一样的问题,JCreator试了下也有上述问题,估计是BUG    
  Jbuilder整合了开发环境,可以通过  
   
  看来还是有人碰到类似的问题  
   
  TO   88324877(寂寞呆头鱼)    
  导人*.class并不是个好习惯,你看的懂别人但是别人看的吃力,最好目标明确点导入确定的类,  
  人人为我,我为人人  
   
  谢谢提醒,不过我刚学Java,可能为了省事,我看过其他人也用import.*导入类  
   
  Top

32 楼zerofinish()回复于 2006-11-08 15:27:09 得分 0

是不是jdk有问题~Top

33 楼bush_80_0(西方迷)回复于 2006-11-08 16:16:21 得分 0

命令行话,classpath是一个很烦人Top

34 楼JerryOne()回复于 2006-11-09 14:14:45 得分 0

TO   zerofinish()    
  是不是jdk有问题~  
   
  看来只能这样认为了,不知道在你们的JDK的环境下会不会抱错呢?  
  我试过三台电脑都是同样的错误。  
   
   
  TO   bush_80_0(西方迷)    
  命令行话,classpath是一个很烦人  
   
  classpath   我设了好几个都试过了   .   parent.child   ,绝对路径也设了  
  都没用  
  Top

35 楼shine333(enihs)回复于 2006-11-09 14:17:11 得分 5

因为你ParentTest没有写package,随便写一个  
   
  永远记住,所有class都必须写packageTop

36 楼JerryOne()回复于 2006-11-09 14:41:02 得分 0

To   shine333(enihs)    
   
  谢谢,你说的是对的。  
   
  但是为什么要加一个package,即使随便一个也行  
  没有加package应该是在一个默认的包里面呀?Top

37 楼JerryOne()回复于 2006-11-10 08:21:36 得分 0

結帖了,分數不夠,請包涵Top

38 楼chenyubo83()回复于 2006-11-10 10:01:47 得分 0

路径没错吧Top

39 楼shine333(enihs)回复于 2006-11-10 10:18:39 得分 0

我也不知道为什么如此,反正自从N年以前碰到你这样的问题之后,我都写package的,哪怕是个Test也要写成test.TestTop

40 楼Anndy_yang()回复于 2006-11-10 15:48:35 得分 0

是不是編譯时沒有加参数呀!-d   .   什麽的!Top

相关问题

关键词

得分解答快速导航

  • 帖主:JerryOne
  • mengfanpp
  • angelleecash
  • zhushengbiao
  • zwgaa
  • moon_cool
  • kiddy8254
  • hl8189
  • MagicianLiu
  • 88324877
  • shine333

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo