Java 在子目录中编译Cannot access类时出错
我有一个错误: java:2:错误:无法访问学生 导入path.student; ^ 错误的类文件:./path/student.class 类文件包含错误的类:讲师5_exercise.path.student 请删除或确保它出现在类路径的正确子目录中 以下是文件夹结构: 我有一个主要的“classpath.java”文件夹在讲座5的练习下。 我正在尝试访问“路径”文件夹中的“student.class”,该文件夹是第五讲练习的子目录Java 在子目录中编译Cannot access类时出错,java,import,package,Java,Import,Package,我有一个错误: java:2:错误:无法访问学生 导入path.student; ^ 错误的类文件:./path/student.class 类文件包含错误的类:讲师5_exercise.path.student 请删除或确保它出现在类路径的正确子目录中 以下是文件夹结构: 我有一个主要的“classpath.java”文件夹在讲座5的练习下。 我正在尝试访问“路径”文件夹中的“student.class”,该文件夹是第五讲练习的子目录 import path.*; public class
import path.*;
public class classpath {
public static void main(String[] args) {
student test = student.create();
}
}
编辑:
这是我的student.java
package Lecture5_exercise.path;
class student {
private student(){}
protected void f(){
System.out.println("protected member! ");
}
public static student create(){
return new student();
}}
在Java中导入的最佳实践是不使用通配符。只需键入包含包名和类名的完整导入
import Lecture5_exercise.path.student;
它更干净,您不太可能遇到这样的错误
student.java中有什么内容?它的顶部有包声明吗?like:包路径;编译完这些类文件后,您是否一直在移动它们?@RaceYouAnytime在student.java中发布。编译完后,我没有移动它们。我根据您的更新添加了一个答案。如果导入更改修复了您的错误,请告诉我。您是否尝试过使用IDE并遵循Java约定,如大写的类名和包中没有下划线?谢谢您的评论。我收到新错误:错误:包讲师5_exercise.path不存在。我现在正在检查你的链接。@stacker好吧,如果你的学生班级说package讲师5_exercise.path;如果代码抛出错误,那么类路径中可能没有包。您是否一直在手动移动.class文件?你是在IDE中开发的吗?我没有移动任何类,我先编译了学生,然后马上编译了classpath.java。我正在使用visual studio代码。它现在就可以工作了,谢谢大家。我更改了student.java:从包讲师5_exercise.path;打包路径;但是,谁能告诉我为什么?