Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在子目录中编译Cannot access类时出错_Java_Import_Package - Fatal编程技术网

Java 在子目录中编译Cannot access类时出错

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

我有一个错误:

java:2:错误:无法访问学生 导入path.student; ^ 错误的类文件:./path/student.class 类文件包含错误的类:讲师5_exercise.path.student 请删除或确保它出现在类路径的正确子目录中

以下是文件夹结构:

我有一个主要的“classpath.java”文件夹在讲座5的练习下。 我正在尝试访问“路径”文件夹中的“student.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;打包路径;但是,谁能告诉我为什么?