java用import导入时报错
但是用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
你要知道,一般*代表了当前目录的所有文件,而且默认是根据首字母排序的,ImportTest在PackageTest之前被请求编译,而ImportTest.java依赖于PackageTest.class,一般不建议这么写。
首先你要先说明你要import的是哪个类?在哪个包里?
假设 类 classname 在 packagename 包里。
然后
import com.packagename.classname;
或者
import com.packagename.*;
应该就可以了。
但是如果你用:
import com.*;
就会出错,因为classname 不在 com包里。
建议:
尽量都用
import com.packagename.classname;
这样会避免packagename 包下面的一些你不熟悉的类 和 你本里的类重名,导致编译错误。
你的classpath是什么?你是在cmd里手动编辑的,所以你要把当前文件夹放到classpath里
http://wenku.baidu.com/link?url=YE1br1lrX7SMA_BOHZPXUYoWhofGHC7dDJywpVKytsjBbQIN2Q9oi1b724nQblhMr__OjZzIgME86hf9gAah77pG4OrNUmrA121vkLpBQ77
如果com.packageName下有多个类,你用到了这个包下的多个类,可以通过com.packageName.*;来导入。
楼主,采纳我的吧~