有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

无法访问java中的类

我正在尝试创建一个类,以便在一周中的某一天发送信息。出于某种原因,当我尝试包含该类时,我会得到一个错误,即:

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.

我创建此代码以查找日期/时间:

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();
}
}

这个类是公共的,所以我不知道为什么它会说它不能访问。我试图用以下代码调用该类:

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类位于同名文件夹中,因此我是,这就是为什么我有“import FindDateFindTime.FindDateFindTime”。我试着查了一下,但似乎找不到任何解决办法。我也试着用一个软件包来做这件事,但它给了我同样的问题。有人能帮忙吗,我真的不知道该怎么办


共 (2) 个答案

  1. # 2 楼答案

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

    package finddatefindtime;
    
    public class FindDateFindTime { ... }
    

    和你的CreateCalendarVisuals类:

    import finddatefindtime.FindDateFindTime;
    
    public class CreateCalendarVisuals { ... }