【问题标题】:Unresolved Java compilation problem for Singleton "getInstance" function单例“getInstance”函数未解决的 Java 编译问题
【发布时间】:2019-10-29 09:01:22
【问题描述】:

我正在尝试使用 VS Code 在 Java 中实例化一个 Singleton 类。 每次编译器接触该函数时,它都会抛出一个“未解决的编译问题”。

我尝试创建另一个 Singleton 类,但同样的错误适用。我认为这可能是 Java 编译器的一些问题,所以我之前放了一些 Debug.Log,但它们出现了。问题只出现在单例中。

在主类中:

public static void main(String[] args) 
{
    GameManager gm = GameManager.getInstance();
    //gm.Start();
}

在 GameManager 类中:

private static GameManager instance = null;
private GameManager() {}
public static GameManager getInstance()
{
    if ( instance == null )
    {
        instance = new GameManager();
    }
    return instance;
}

我希望得到 GameManager 的实例,但它会抛出一个 “public static GameManager getInstance()”行上的“线程“main”java.lang.Error:未解决的编译问题中的异常。

【问题讨论】:

  • 未解决的编译错误意味着您正在尝试运行有编译错误的代码。不要那样做。修复编译错误之前你尝试运行你的代码。
  • 您有一个不同的问题,我们无法使用您发布的代码重现该问题。您可能需要清理和重建。
  • 可能是 VSCode 本身的问题。我在 IntelliJ 中运行了它,它可以工作
  • 我可以补充一点,编译时我的代码没有错误,唯一的问题似乎是单例“getInstance()”中的问题,我现在会尝试清理和重建
  • 这次没有错误。但是您之前运行的“.class”确实存在编译错误。这可能是假的……但是您看到的行为是某些 IDE / 编译器所做的。它们发出一个 .class,其方法在运行时会抛出 Error

标签: java singleton


【解决方案1】:

原来是VS Code的问题。

安装了 Eclipse,现在一切正常。

我不知道它是特定于 VSCode 的,但我会在其中添加更多细节。

这发生在 KDE Neon 5.17VSCode 1.39.2Java 8 OpenJDK

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-02
    相关资源
    最近更新 更多