java中import*导入包报错;

在同一目录下有两个java文件,文件名分别为Test.java和T.java,内容如下://classT,所在目录为F:\javaWorkPlacepackagea.b.... 在同一目录下有两个java文件,文件名分别为Test.java和T.java,内容如下:
//class T ,所在目录为F:\javaWorkPlace
package a.b.c;
public class T{
public T(){
System.out.println("T");
}
}
//class Test,所在目录为F:\javaWorkPlace
import a.b.c.*;
public class Test{
public static void main(String arg[]){
T t = new T();
}
}
此时Test.java无法通过编译

将import a.b.c*改为import a.b.c.T编译就通过,且结果如下:

最终文件目录结构如图:
还有,如果在T.java编译完成后,在此根目录下将T.java删除,则import a.b.c*又能编译通过
展开
 我来答
百度网友6722f06
推荐于2017-12-16 · 超过22用户采纳过TA的回答
知道答主
回答量:56
采纳率:100%
帮助的人:28.5万
展开全部

注:java文件编译后产生class文件,如果删除T.java   而没有删除T.class文件,则可以通过import


  1. 你第一次编译所有文件时没有通过的原因可能是:先编译了Text.java,这时没有T.class文件所以报错。

  2. 第二次编译通过原因:T.class文件存在所以能编译import

追问
请看我贴命令行的图,我是首先编译的 T.java文件,再编译的Test.java文件
追答
应该是编译器的原因吧。如果用ecplise编译应该可以.*  ,用命令来编译毕竟不是功能很强大。
anglewang98
2015-01-30 · TA获得超过535个赞
知道小有建树答主
回答量:420
采纳率:80%
帮助的人:283万
展开全部

你的环境变量中classpath要重新设定,在cmd命令框中输入以下命令后再做javac编译操作。

set classpath=c:\Study\Lesson3;%classpath%

而且你需要先要搞清楚package的概念,看你贴的代码中package是的根目录下是com,而你输入javac PackageTest.java这个命令时是在c:\Study\Lesson3这个路径下,说明你的PackageTest.java中声明语句:package com.yeahgenius.test与实际不吻合。

你有两种选择:

选择一:

1.删除PackageTest.java和ImportTest.java中 package com.yeahgenius.test这句申明,2.

输入set classpath=c:\Study\Lesson3;%classpath%;然后输入cd c:\Study\Lesson3进入根目录下

3、输入javac PackageTest.java

4、输入javac ImportTest.java

5、输入java ImportTest

选择二:

  1. 输入mkdir com

  2. cd com

  3. mkdir yeahgenius

  4. cd yeahgenius

  5. mkdir test

  6. cd test

  7. copy c:\Study\Lesson3\PackageTest.java .

  8. copy c:\Study\Lesson3\ImportTest.java .

  9. set classpath=c:\Study\Lesson3;%classpath%

  10. javac PackageTest.java

  11. javac ImportTest.java

  12. java ImportTest

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
晴暖半冬
2015-11-06 · TA获得超过235个赞
知道小有建树答主
回答量:255
采纳率:100%
帮助的人:101万
展开全部
你的图片呢?没有看到啊,如果导入包报错的话看一下是否是自己需要导入的包,包名有没有错误,如果包名没有错的话,那么对应的jar包是否已经导入到工程了呢?
还有一种情况,当Eclipse 的JDK与java文件编码的jdk不匹配时也会报错。
望采纳谢谢。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
掌上悦客个人
2015-01-29 · TA获得超过357个赞
知道小有建树答主
回答量:339
采纳率:0%
帮助的人:113万
展开全部
当你实例化java.lang.xx.java 的时候,你要给定它的全路径,程序中可以出现同名的类,但为了区分它们,只要是你使用它们的时候,都必须给出全路径,这时候你也可以不用import。
追问
我想知道为什么将import a.b.c.T改成import a.b.c.*就会报错,编译不通过
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式