无法使用*通配符访问导入的类,但在使用完整限定名导入时可以使用相同的类 我是java新手,请帮助我 我在导入语句中使用*通配符时遇到问题 我使用javac-d编译了javatesting1类。javatesting1.java,并在test1包中获得了.class文件 这是我的文件夹结构 当我使用带有*的import语句编译javatesting2时,我得到以下错误 javac javatesting2.java javatesting2.java:2:错误:无法访问javatesting1 类testingclass扩展了javatesting1 ^ 错误的源文件:。\javatesting1.java 文件不包含类javatesting1 请删除或确保它出现在sourcepath的正确子目录中。 javatesting2.java:6:错误:找不到符号 系统输出打印项次(a); ^ 符号:变量a 地点:class testingclass 2个错误

无法使用*通配符访问导入的类,但在使用完整限定名导入时可以使用相同的类 我是java新手,请帮助我 我在导入语句中使用*通配符时遇到问题 我使用javac-d编译了javatesting1类。javatesting1.java,并在test1包中获得了.class文件 这是我的文件夹结构 当我使用带有*的import语句编译javatesting2时,我得到以下错误 javac javatesting2.java javatesting2.java:2:错误:无法访问javatesting1 类testingclass扩展了javatesting1 ^ 错误的源文件:。\javatesting1.java 文件不包含类javatesting1 请删除或确保它出现在sourcepath的正确子目录中。 javatesting2.java:6:错误:找不到符号 系统输出打印项次(a); ^ 符号:变量a 地点:class testingclass 2个错误,java,import,package,wildcard,importerror,Java,Import,Package,Wildcard,Importerror,这是我的密码 包测试1; 公共类javatesting1 { 受保护的INTA=45; int b=78; } //当我使用test1.*而不是test1.javatesting1时,我无法使用javatesting1类 //下面的代码位于同一目录下的另一个文件中 导入test1.javatesting1; 类testingclass扩展了javatesting1 { 公共图书馆1( { 系统输出打印项次(a); //系统输出打印ln(b); } } 公共类javatesting2 { 公共

这是我的密码

包测试1;
公共类javatesting1
{
受保护的INTA=45;
int b=78;
}
//当我使用test1.*而不是test1.javatesting1时,我无法使用javatesting1类
//下面的代码位于同一目录下的另一个文件中
导入test1.javatesting1;
类testingclass扩展了javatesting1
{
公共图书馆1(
{
系统输出打印项次(a);
//系统输出打印ln(b);
}
}
公共类javatesting2
{ 
公共静态void main(字符串[]args)
{
testingclass obj=新的testingclass();
对象1();
}
}

大家好,欢迎来到Stack Overflow

由于将类javatesting1声明为在包test1中,Java希望在名为类似包的文件夹中找到该类,以便扫描它(使用通配符)。 我已经测试了您的代码,使用通配符*导入,文件夹结构如下

文件夹

  • javatesting2.java
  • 测试1
    • javatesting1.java
尝试编辑文件夹结构


另外,请尝试遵守编码约定:类名应使用CamelCase命名,例如,JavaTesting1

谢谢您的回复,我的文件夹结构与您所说的相同,并且有相同的错误。我已将文件夹结构包含在图像中,请检查它。您必须将
JavaTesting1.java
放入文件夹
test1
:因为您正在编译源代码,Java希望在文件夹中找到.Java文件感谢siberio花时间澄清我的问题,它现在可以正常工作,没有任何错误,但我仍然有一些小疑问,如果它正在检查源代码,那么为什么在没有通配符的情况下导入test1.javatesting1可以正常工作,即使源代码不在test1包中,是吗首先尝试在test1包中检查源代码,但在没有找到它之后,它正在尝试在当前文件夹中找到它。这是正确的吗?顺便说一句,这是我的假设?可能是。这是从Java文档中获取的,不过
您应该将源文件安排在反映其包树的目录树中。
默认情况下,编译器将每个类文件与其源文件放在同一目录中。
感谢您的帮助Siberio,我的疑问已经澄清