java中import,用*号代替类名导入类失败,为啥?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中import,用*号代替类名导入类失败,为啥?相关的知识,希望对你有一定的参考价值。
文件一:
package com.shengsiyuan.test;
public class PackageTest
public static int i = 100;
文件二:
import com.shengsiyuan.test.PackageTest;
public class ImportTest
public static void main(String [] args)
System.out.println(PackageTest.i);
在我的电脑中,将文件二中的PackageTest换为*号后再运行,会出现以下代码:
ImportTest.java:7:无法访问PackageTest
错误的类文件:.\PackageTest.java
文件不包含类 PackageTest
请删除该文件或确保该文件位于正确的类路径子目录中。
System.out.println(PackageTest.i);
1 错误
哪位高手能帮忙看看,非常感谢!
而如果不将文件二中的PackageTest换为*号,再编译的是能通过的,各位大侠,请仔细看完代码再回答,谢谢!本人用的是windows 7系统
因为你ImportTest没写包名,所以我怀疑这和你引用的PackageTest不在同一个包,是不是当前包下也有一个错误的PackageTest? 参考技术B 检查一下你的src文件夹里面PackageTest是不是在com/shengsiyuan/test/目录下面,还有文件名对不对,比如有没有叫Main.java
或者是不是路径里面有中文名 参考技术C 我在linux上,运行你的程序,两种情况都是可以运行的,结果一样。
请你在仔细检查一下你环境变量CLASSPATH.追问
.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
这是我电脑的环境变量CLASSPATH,我的系统是windows 7
你的classpath是正确的。
我注意到:错误的类文件:.\PackageTest.java
为什么会有一个“.\"?
是不是你的ImportTest.java和com文件夹没在同一目录下???
我没在windows下写过代码,所以不清楚。
建议你尝试使用linux,一旦你适应之后,你会彻底喜欢上它。
PackageTest可能不是公有的,只允许包内的类访问。
Import语句基础
1 问题
在 Java 中,如果给出一个完整的限定名,包括包名、类名,那么 Java 编译器就可以很容易地定位到源代码或者类。import 语句就是用来提供一个合理的路径,使得编译器可以找到某个类。
2 方法
1.import导入声明可分为两种:
1) 单类型导入(single-type-import)
例:
2) 按需类型导入(type-import-on-demand)例:
2. 举例java.util.ArrayList类的4种遍历方式:
import java.util.ArrayList; import java.util.Iterator; public class Import public static void main(String[] args) ArrayList<Integer> list = new ArrayList<>(); //依次加入数值 for(int i=0; i < 10; i++) list.add(i); //方法1 Iterator it1 = list.iterator(); while(it1.hasNext()) System.out.println(it1.next()); //方法2 for(Iterator it2 = list.iterator();it2.hasNext();) System.out.println(it2.next()); //方法3 for(int tmp:list) System.out.println(tmp); //方法4 for(int i = 0;i < list.size(); i ++) System.out.println(list.get(i)); |
3 结语
针对Java 的import语句,提出了import导入声明可分为两种,并且举例了java.util.ArrayList类的4种遍历方式,通过小组的实验,证明该方法是有效的。
以上是关于java中import,用*号代替类名导入类失败,为啥?的主要内容,如果未能解决你的问题,请参考以下文章