java用import导入时报错

为什么我在导入的时候用 com.Packagename; 可以顺利编译,
但是用com.* 时却报错,提示找不到类名?
补充,

结果为

如果是

就可以编译执行

你的环境变量中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

选择二:

    输入mkdir com

    cd com

    mkdir yeahgenius

    cd yeahgenius

    mkdir test

    cd test

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

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

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

    javac PackageTest.java

    javac ImportTest.java

    java ImportTest

追问

谢谢你的回答,学了好多东西,但是还是有点不明白

我是用javac -d . 在当前目录建立的包,可以import java.until.*之类的包,也可以调用我自己创建的,把com.yeahenius.test.*;改成直接调用类名com.yeahgenius.test.PackageTest就可以编译执行了,所以是说一个包下面只有一个类的话,不可以用*来取代么?

追答

你要知道,一般*代表了当前目录的所有文件,而且默认是根据首字母排序的,ImportTest在PackageTest之前被请求编译,而ImportTest.java依赖于PackageTest.class,一般不建议这么写。

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-01-17

首先你要先说明你要import的是哪个类?在哪个包里?

假设 类 classname 在 packagename 包里。

然后

import com.packagename.classname;

或者 

import com.packagename.*;

应该就可以了。


但是如果你用:

import com.*;

就会出错,因为classname 不在 com包里。


建议:

尽量都用

import com.packagename.classname;

这样会避免packagename 包下面的一些你不熟悉的类 和 你本里的类重名,导致编译错误。

追问

程序很简单

如果我用 import com.yeahgenius.test.PackageTest;就能顺利编译,

但是 import com.yeahgenius.test.*; 就会报错。。。

追答

你的classpath是什么?你是在cmd里手动编辑的,所以你要把当前文件夹放到classpath里

第2个回答  2014-01-17
可能com这个名字已经被用掉了,在你看不见的地方,你试试换个名字,
比如comtest.Packagename和comtest.*

而且你这个歧义比较大我也搞不清你的意思,Packagename是代表包名吗?但是你明明是把它当做一个类文件(.class)在用啊。

不会的话明早追问我吧......追问

程序很简单

如果我用 com.yeahgenius.test.PackageTest;就能顺利编译,

但是 import com.yeahgenius.test.*; 就会报错。。。

第3个回答  2014-01-17
你好 这是用法错误 import就像你去找人一样 有名有姓 你说姓 可以找到很多一样的姓氏的人 你说姓名 就只能找到一个(假如都是唯一) 若是你什么都不说 那就爱莫能助了 有链接供你参考
http://wenku.baidu.com/link?url=YE1br1lrX7SMA_BOHZPXUYoWhofGHC7dDJywpVKytsjBbQIN2Q9oi1b724nQblhMr__OjZzIgME86hf9gAah77pG4OrNUmrA121vkLpBQ77
第4个回答  2014-01-17
包的名字要全部写上。
如果com.packageName下有多个类,你用到了这个包下的多个类,可以通过com.packageName.*;来导入。
楼主,采纳我的吧~

java中import导入包报错
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 选择二:输入mkdir com cd c...

在java中如何使用import语句,每回自己使用package和import就报错
这个一般是在IDE里通过快捷键自动引入的,简单点就是你要用哪个类或者方法,先在代码里写出这个类名,然后根据提示选择你要引的类,或者可以用快捷键,但如果有很多类名相同的类的时候还是自已选好一点

java用import导入时报错
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 选择二:输入mkdir com cd c...

java 高手求解 import java.awt.*;有错误
把src里面的module-info那个文件删掉。

eclipse导入包import报错?
1.打开编辑好的java代码页面,可以看到ArrayList,File类由于没有import相应的包而报错。 2.在编辑区域点击鼠标右键,选择【Source】,然后选择【OrganizedImports】选项 3.查看代码可以看到,已经自动import了两个类。 注:同时此方法也会删除无用的importeclipse标记import上有语法错误 MicrosoftVBScript语法错误(0x800A03E9)...

Java 用了import javax.swing.*; 后出现这个问题,虽然可以运行,但是...
你的 JDK 目录的结构不正确。正常的 JDK\\jre\\lib\\rt.jar ,或者直接是 JRE\\lib\\rt.jar,你现在的是 JDK\\lib\\rt.jar 就是有问题的,Eclipse 觉得你的 JRE 不是标准的配置,所以提示你,这个程序当前使用了一些“特殊的类”,这些类可能在其它厂商提供的标准 JRE 中找不到。Java 的跨平台是要求...

为什么idea中编写java程序import不管用?
在使用IDEA编写Java程序时,可能会遇到import语句不起作用的问题。这通常是因为在项目配置中未正确引入相关依赖。为确保import语句生效,应检查pom.xml文件,确保已经添加了相应的依赖项。如果未添加,请在pom.xml文件中添加如下依赖:正确的pom.xml文件示例如下:xml com.example example-dependency 1.0.0 ...

如何更改java引入包失败的问题
按需类型导入(type-import-on-demand), 例如 import java.io.*;你的问题应该是按需导入的时候,出现了一些异常,而这些异常通常是命名冲突。(例如:当你import java.awt.*;import java.util.*后,使用List的时候编译器将会出编译错误)再仔细检查一下,看看你的b.*按照下面的解析路径能找到HELLO...

java中import,用*号代替类名导入类失败,为什么?
程序没问题,编译有问题,没有指定com.shengsiyuan.test.PackageTest类的路径 也就是说你要先编译com.shengsiyuan.test.PackageTest 然后将com.shengsiyuan.test.PackageTest的class的路径作为编译ImportTest类的必要条件

Java初学import sun.awt.SunHints;报错,求解决方法
sun.awt.AWTUtilities好像是不受官方支持的,所以访问的时候会有一定的限制,可能编译会通不过,编译器会报错。解决方法:eclipse中依次点击:Window->Preferences -> Java -> Compiler -> Errors\/Warnings -> Deprecated and restricted API -> Forbidden reference -> 把 "error" 改为 "warning"...

相似回答