对于专家来说,这是一个非常简单的问题,但对于像我这样的初学者来说,这只是令人困惑。我以为我了解静态,但显然我不了解。下面是整个类(class),它说我需要将测试设为静态。但我不想。我能做些什么来解决这个问题,首先为什么会发生?谢谢!
public class SubstringTest
{
private String test;
public static void main(String[] args)
{
test = "Penguin";
System.out.println(test);
System.out.println(test.substring(3));
}
}
最佳答案
main
是静态的。 test
不是。
如果您不想制作 test
静态,你必须创建一个 SubstringTest
的实例第一的。
SubstringTest st = new SubstringTest(); // create an instance
st.test = "test"; // this works
System.out.println(st.test); // also works
如
test
是静态的,你可以做SubstringTest.test = "test";
或者,如果您正在编写的代码在类
SubstringTest
中和 test
是静态的:test = "test";
关于java - 不需要的静态变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15016072/