我是java的新手,我正在尝试访问外部的方法变量,但它不起作用。代码如下,
public class methodacess {
public static void minus(){
methodacess obj =new methodacess();
int a=10;
int b=15;
}
public static void main (String[] args){
//Here i want to access variable names a & b that is in minus()
int c = b - a;
}
}
提前感谢!
答案 0 :(得分:2)
因为a
和b
是局部变量。
如果要在main方法中访问它们,则需要修改代码。例如:
public class methodacess {
private static int a;
private static int b;
public static void minus(){
methodacess obj =new methodacess();
a=10;
b=15;
}
public static void main (String[] args){
int c = b - a;
}
}
答案 1 :(得分:2)
方法中定义的变量是该方法的本地变量,因此您不能在外部使用它们。如果要在外部使用它们,请在类的开头定义全局变量。
答案 2 :(得分:2)
我认为你可能想以其他方式做到这一点:
public class methodacess {
public int minus(int a, int b){
int c = b - a;
return c;
}
public static void main (String[] args){
// Here youi want to call minus(10, 15)
int a=10;
int b=15;
System.out.println("Result is: " + minus(a, b))
}
}
答案 3 :(得分:1)
您需要将变量定义为静态类变量,以便可以从静态函数访问它们。还要注意访问修饰符,因为当变量是私有的时,你不能在任何其他类之外访问它们。
public class methodacess {
private static int a;
private static int b;
public static void minus(){
methodacess obj =new methodacess();
a=10;
b=15;
}
public static void main (String[] args){
//Here i want to access variable names a & b that is in minus()
int c = b - a;
}
}