gpt4 book ai didi

java - 在 Java 中使用全局(静态)变量

转载 作者:行者123 更新时间:2023-12-02 04:51:11 25 4
gpt4 key购买 nike

我需要在同一包中的两个类之间共享变量。我不想争论我使用全局变量的“原因”。我通常不惜一切代价避免它们。

我的理解是,我需要将变量声明为静态,并且以这种方式声明的任何变量都可用于包中的所有类。我正在使用一个名为 Lanterna 的 Java 库,它用于创建基于文本的 GUI。为了将字符写入屏幕缓冲区,我必须创建一个 Screen 类型的对象(我称之为 screen)。下面的两个声明位于我的入口类的顶部附近(不在构造函数中)。

public static Terminal terminal = TerminalFacade.createTerminal(System.in, System.out, Charset.forName("UTF8"));

public static Screen screen = new Screen(terminal);

终端和屏幕类型在我的程序顶部被声明为导入语句。我在 Eclipse 中没有收到这些语句的任何错误。在我尝试访问屏幕对象的类中,我收到一条错误消息,指出此行有多个标记,屏幕无法解析。

如果需要提供任何其他信息,请告诉我。

最佳答案

虽然terminalscreen在任何地方都在范围内,但它们不会自动导入,您必须通过包含它们的类来引用它们。

例如,如果您在类 Myclass 中声明它们,则可以通过例如访问它们。

MyClass.terminal.frobnicate();

或者,虽然这在大多数情况下不是标准做法,但您可以像这样导入它们:

import static myPackage.MyClass.terminal; 

然后您将能够简单地引用terminal,而无需澄清您引用的是MyClassterminal,而不是其他类的静态名为terminal的字段。

关于java - 在 Java 中使用全局(静态)变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29223877/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com