无法在 java 中访问 class

Cannot access class in java

我正在尝试创建一个 class 以在星期几发送信息。出于某种原因,当我尝试包含 class 时,我收到一条错误消息:

CreateCalendarVisuals.java:1: error: cannot access FindDateFindTime
import FindDateFindTime.FindDateFindTime;
                       ^
  bad class file: .\FindDateFindTime\FindDateFindTime.class
    class file contains wrong class: FindDateFindTime
    Please remove or make sure it appears in the correct subdirectory of the classpath.

我创建了这段代码来找到 date/time:

import java.time.LocalDate;
import java.time.DayOfWeek;
import java.time.LocalTime;

public class FindDateFindTime
{
// public static void main(String[] args)
// {
//         LocalDate date = LocalDate.now();
//         LocalTime time = LocalTime.now();
//
//         System.out.println("Date: " + date + "; Time: " + time);
// }

public int dayOfWeek(int year, int month, int day)
{
        LocalDate date = LocalDate.of(year, month, day);

        DayOfWeek d = date.getDayOfWeek();
        return d.getValue();
}
}

class是public所以不知道为什么会说不能访问。我正在尝试使用此代码调用 class:

import FindDateFindTime.FindDateFindTime;

public class CreateCalendarVisuals
{
public static void main(String[] args)
{
        FindDateFindTime d = new FindDateFindTime();
         System.out.println(d.dayOfWeek(2021, 04, 24));
}
}

我的 FindDateFindTime class 在一个同名的文件夹中,所以我就是这就是为什么我有“导入 FindDateFindTime.FindDateFindTime”。我试图查找它,但似乎找不到任何解决方案。我也试过用一个包来做这件事,但它给了我同样的问题。有人可以帮忙吗,我真的不知道该怎么办。

您的 class CreateCalendarVisualsFindDateFindTime class 导入为 FindDateFindTime.FindDateFindTime;这意味着你的 class FindDateFindTime 属于包 FindDateFindTime 所以你的 class FindDateFindTime 的第一行必须是 package FindDateFindTime。请注意,根据 package naming conventions,您的包名称应在 finddatefindtime 命名目录中重写为 finddatefindtime,因此您的 FindDateFindTime class声明应该是:

package finddatefindtime;

public class FindDateFindTime { ... }

还有你的CreateCalendarVisualsclass:

import finddatefindtime.FindDateFindTime;

public class CreateCalendarVisuals { ... }

如果您使用的是 eclipse 和 netbeans,则不需要导入 class。{第一个程序的输出 no necessary to import the class if it is in the same package