【问题标题】:Cannot access class in the Same package in Java?无法在 Java 中访问同一包中的类?
【发布时间】:2022-08-11 11:39:47
【问题描述】:

我目前正在为一个 Java 项目构建 Gradle,但正在努力解决一些问题。几年后我恢复到 JAVA,所以如果这是一个愚蠢的问题,请帮助我的开发人员。


import java.util.ArrayList;
import java.util.Arrays;

public class Cargo{
    String name;
    public Cargo(String name){
        this.name = name;
    }

    public String getCargo(){
        return(this.name);
    }
}

我试图在另一个名为 Station 的类中实现这个类,这就是 Station 类的样子。

package dummmy.app;
import java.util.List;
import dummmy.app.Cargo;
public class Station{
    String name;
    ArrayList<Cargo> cargo;

    public Station(String name, ArrayList<Cargo> cargo){
        this.name = name;
        this.cargo = cargo;
    }

    public void getCargo(){
      System.out.print(cargo);
    }

    public static void main() {
      
    }
    
}

我不明白为什么在编译过程中会出现这个错误?

Station.java:6: error: cannot find symbol
    ArrayList<Cargo> cargo;
    ^
  symbol:   class ArrayList
  location: class Station
Station.java:6: error: cannot find symbol
    ArrayList<Cargo> cargo;
              ^
  symbol:   class Cargo
  location: class Station
Station.java:8: error: cannot find symbol
    public Station(String name, ArrayList<Cargo> cargo){
                                ^
  symbol:   class ArrayList
  location: class Station
Station.java:8: error: cannot find symbol
    public Station(String name, ArrayList<Cargo> cargo){
                                          ^
  symbol:   class Cargo
  location: class Station
4 errors

    标签: java arrays inheritance


    【解决方案1】:

    您已导入java.util.List,但是您未能导入java.util.ArrayList。此外,您的 Cargo 类没有 package 语句,而您的 Station 类有,这意味着它们不在同一个包中。

    【讨论】:

    • 即使将它放在与 dummy.app 相同的包中,它也会显示相同的错误。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-21
    • 2011-08-23
    • 1970-01-01
    • 2015-01-07
    • 2021-07-19
    • 2017-08-18
    相关资源
    最近更新 更多