【问题标题】:Java class compile time error "Cannot access interface"Java 类编译时错误“无法访问接口”
【发布时间】:2016-12-27 13:34:49
【问题描述】:

我有一个接口 stores,它有两个方法 getName() 和 getAddres(),我有一个实现 Stores 的类 Market 这是我的代码:

public interface Stores {
    public String getName();
    public String getAddress();
}

具体类:

public class Market implements Stores {
    private String name;
    private String address;
    private int size;

    public Market(String name, String address, int size) {
        this.name = name;
        this.address = address;
        this.size = size;
    }

    @Override
    public String getName() {
        return name;
    }

    @Override
    public String getAddress() {
        return address;
    }

    public int getSize() {
        return size;
    }
}

我在构造函数中收到有关 this.name=name、this.address=address 和 this.size=size 的错误,提示“无法访问商店”。 任何想法为什么?

【问题讨论】:

  • 它可能无法访问 Stores 类,因为它没有找到它。您是否在 Market 类中导入了 Stores
  • @Kevin 都在同一个包里,需要导入接口吗?
  • @KevinEsche 而且它没有给我任何关于公共类市场实现商店的错误
  • 尝试关闭并重新打开 Eclipse。
  • 它非常适合我。

标签: java compiler-errors


【解决方案1】:

现在是 2020 年,我在 IntelliJ Idea 中仍然遇到这个问题。有时重新启动 IDE 就足够了,但今天我必须 File -> Invalidate Caches / Restart 才能识别我编写的新界面。拒绝在本地包中以及在明确imported 到其他包时识别它。

【讨论】:

  • 这在 android studio 4.2 C15 SDK 30 上对我有用
  • 嘿,我是 2021 年的,我仍然有同样的问题:/
【解决方案2】:

我在 Intetlij 也遇到过同样的问题。 对我有帮助的东西很奇怪:

我必须更改 pom.xml 中的任何值(我使用了“mainClass”)。然后改回来(因为值是正确的)。项目视图被刷新,类开始看到界面。

【讨论】:

  • IntelliJ 中的类似情况我删除了未使用的 maven 自动创建的测试类并重建了项目,就像一个魅力一样工作
【解决方案3】:

我在 IntelliJ 中多次遇到过这个问题。由于代码中的任何编译错误,这显然不会发生。除了杀死 IDE 并重新启动它之外,似乎没有任何帮助。

我的意思是完全杀死 IDE,而不是关闭和打开项目。执行此操作后,错误消失。

(我觉得写这个作为答案很奇怪,但我发生了太多次了,我知道这样的错误如何让你质疑你对编程的了解。希望没有其他人不得不在这上面浪费时间)

【讨论】:

    猜你喜欢
    • 2013-08-17
    • 1970-01-01
    • 2022-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-31
    • 2017-04-07
    相关资源
    最近更新 更多