目录结构:
D:\javatest\
1在D:\javatest\下 新建c5目录, 生成TestPackage.java
package c5;
public class TestPackage
{
public static void main(String[] args)
{
System.out.println("Hello");
}
public void printInfo(String s)
{
System.out.println(s);
}
}
2 在D:\javatest\下,新建了一个“c4”目录后,在这个目录中又新建了一个文件“TestPackageUse.java”,想用来调用包“c5”中的类“TestPackage”的一个方法“printInfo”,代码如下:
import c5.TestPackage;
public class TestPackageUse
{
public static void main(String[] args)
{
printInfo("TestPackageUse");
}
}
d:\javatest\c4> javac TestPackageUse.java
此时,“javac TestPackageUse.java”,出错提示如下:
TestPackageUse.java:3:package c5 does not exist
import c5.TestPackage;
TestPackageUse.java:9: cannot resolve symbol
symbol : method printInfo (java.lang.String)
location: class TestPackageUse
printInfo("TestPackageUse");
^
2 errors
[b]问题补充:[/b]
若增加了
[b]package c4;[/b]
import c5.TestPackage;
public class TestPackageUse
{
public static void main(String[] args)
{
new TestPackage().printInfo("TestPackageUse");
}
}
c4>javac TestPackageUse.java
仍然会提示找不到包c5;
TestPackageUse.java:3:package c5 does not exist
import c5.TestPackage;
TestPackageUse.java:9: cannot resolve symbol
symbol : method printInfo (java.lang.String)
location: class TestPackageUse
printInfo("TestPackageUse");
你的TestPackageUse.java有错,改成这样
[code="java"] import c5.TestPackage;
public class TestPackageUse
{
public static void main(String[] args)
{
new TestPackage().printInfo("TestPackageUse");
}
} [/code]
你把c5整个目录考到c4目录下然后cmd进入c4下编译TestPackageUse.java
你的TestPackageUse本身是在c4目录下,却没有给他写package,所以javac是找不到c5下面的类的,所以要么你得吧c5目录放到c4目录下,要么给TestPackageUse写package c4;
[code="java"]
package c4;
import c5.TestPackage;
public class TestPackageUse
{
public static void main(String[] args)
{
new TestPackage().printInfo("TestPackageUse");
}
[/code]
除非你TestPackageUse继承自TestPackage才可以这样直接写printInfo();