gpt4 book ai didi

java - 如何创建作用域为全局但不应该是静态的变量

转载 作者:行者123 更新时间:2023-12-01 18:23:36 27 4
gpt4 key购买 nike

需要一个变量来保存一个值,该值将被分配一次并被类的每个方法使用

如果我将其指定为非静态变量,它不会保存该值

Class Test{

private String test;

public void method1(){
test = "String1";
}

public void method2(){
System.out.println(test.length());
}

}

出现空指针异常。测试的值将在每个方法中使用。

谁能帮我解决这个问题。

最佳答案

只要 test 变量为 null 并且您尝试调用该变量的方法,就会抛出 NullPointerException 。在您的情况下,当您在 method1() 之前调用 method2() 时。这与全局、本地或其他无关,如 Long Vu已经提到过。

所以首先您应该确保您不会访问未初始化的变量。然后,如果您需要一个具有单个实例的类,并且该实例应该可以在应用程序范围内访问,则可以使用单例模式来实现它。有关更多信息,请查看此维基百科页面:https://en.wikipedia.org/wiki/Singleton_pattern

关于java - 如何创建作用域为全局但不应该是静态的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60266292/

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