关于java中使用package语句找不到符号的问题 20C

在thingking in java第四章的练习题20中,参考答案使用了package并使用了第19题的方法.
两道题的代码如下
E19

 //: initialization/E19_VarargStringArray.java
/****************** Exercise 19 *****************
* Write a method that takes a vararg String
* array. Verify that you can pass either a
* comma-separated list of Strings or a
* String[] into this method.
************************************************
************************************************/
package initialization;
public class E19_VarargStringArray {
static void printStrings(String... strs) {
for(String s : strs)
System.out.println(s);
}
public static void main(String args[]) {
printStrings("These", "are", "some", "strings");
printStrings(
new String[] { "These", "are", "some", "strings" }
);
}
} 
 //: initialization/E20_VarargMain.java
// {Args: These, are, some, strings}
/****************** Exercise 20 *****************
* Create a main() that uses varargs instead
* of the ordinary main() syntax. Print all the
* elements in the resulting args array. Test it
* with various numbers of command-line
* arguments.
************************************************/
package initialization;
public class E20_VarargMain {
public static void main(String... args) {
E19_VarargStringArray.printStrings(args);
}
} 

两个文件都在Initialization文件夹下,路径为D:\Users\xxxx\Documents\WorkSpace\Java\TinkinginjavaSourceCode\Initialization中并且上一级的ThinkinginjavaSourcecode文件夹在classpath中
但是编译E20时候总是提示找不到E19的符号
先在initialization中编译E19通过,编译E20提示找不到符号;
然后退回上一级javac initialization\E20_VarargMain.java依然提示找不到符号
图片说明

但是删掉package语句就可以编译运行成功...
之前用eclipse导入的现在换成直接用jdk就不行了
很费解,是我忘记什么了吗?总之新手很困惑.......不知道是什么低级错误

8个回答

我就是过来强势围观的
其实我也不会

我就是过来强势围观的
其实我也不会

java 是面向对象的 你这个怎么在调用.....

路径不对,如果加了package,需要包含上级路径 javac -cp .. E20类

如果用命令行操作,在类里边存在package,那么文件所在路径需要和package指定的一致,在package的目录外边执行命令即可。

应该是路径的问题 看看这个https://zhidao.baidu.com/question/106525869.html

你的package包路径不对。。。

你执行命令所在的文件夹和命令都没有错,因为你E20_VarargMain 这个类中引用了E19_VarargStringArray 这个类,但是在你E20_VarargMain这个类里没有倒包,所以解决办法就是在你的E20_VarargMain的package下面加上一句引包代码即可,如下"import initialization.E19_VarargStringArray"

u013268154
批判是一个大嘴巴子 回复Fantastic_Ying: 确实是不需要引用包也能编译通过
接近 2 年之前 回复
fantastic_ying
Fantastic_Ying 同一个包中也需要import?
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!