所以我有两个班级:
使用Main
方法的public static void main(String args[])
课程
和Voice
类访问该类的静态变量。
在主类中是自己使用的方法,并且必须是静态的以及它的一些变量。
所以我在Main
类中有一个静态变量(在public static void main(String args[])
方法中创建/填充。这就是为什么这种情况很特殊),其他类应该能够访问。
这是一个正在发生的事情的例子:
public class Main(){
public static int variable;
/*
Unrelated methods go here.
*/
public static void main(String args[]){
Voice v = new Voice();//This is just here for the code to make sense.
variable = 5;
v.doSomething();
}
}
public class Voice(){
public void doSomething(){
System.out.println(Main.variable);
}
}
在doSomething()
中调用Voice
方法后,会导致nullPointerException
。
我可以通过将variable
变量传递给Voice
类来解决这个问题,但是从长远来看,有更简单的方法可以解决这个问题,例如,我需要使用更多比Main
类中的一个静态变量?
答案 0 :(得分:0)
您的代码出现语法错误。你可以用这个
class Main{
public static int variable;
/*
Unrelated methods go here.
*/
public static void main(String args[]){
Voice v = new Voice();//This is just here for the code to make sense.
variable = 5;
v.doSomething();
}
}
class Voice{
public void doSomething(){
System.out.println(Main.variable);
}
}
输出为5
答案 1 :(得分:-1)
您应该执行以下操作
public class Main{
public static int variable;
/*
Unrelated methods go here.
*/
public static void main(String args[]){
Voice v = new Voice();//This is just here for the code to make sense.
variable = 5;
v.doSomething();
}
}
class Voice{
public void doSomething(){
System.out.println(Main.variable);
}
}