无法访问方法';在Java中,将局部变量置于方法之外
我是Java新手,正在尝试访问方法之外的方法变量,但它不起作用 代码如下:无法访问方法';在Java中,将局部变量置于方法之外,java,variables,methods,scope,Java,Variables,Methods,Scope,我是Java新手,正在尝试访问方法之外的方法变量,但它不起作用 代码如下: 公共类方法访问{ 公共静态void减(){ INTA=10; int b=15; } 公共静态void main(字符串[]args){ //在这里,我想访问减()中的变量名a&b int c=b-a; } } 因为a和b是局部变量。 如果希望在main方法中访问它们,则需要修改代码。例如: public class methodacess { private static int a; pr
公共类方法访问{
公共静态void减(){
INTA=10;
int b=15;
}
公共静态void main(字符串[]args){
//在这里,我想访问减()中的变量名a&b
int c=b-a;
}
}
因为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;
}
}
方法内部定义的变量是该方法的局部变量,因此不能在外部使用它们。如果您想在外部使用它们,请在类的开头定义实例变量。我想您可能需要用其他方法:
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))
}
}
您需要将变量定义为静态类变量,以便可以从静态函数访问它们。还要注意访问修饰符,因为当变量是私有的时,您不能在任何其他类之外访问它们
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;
}
}
不,不会的。局部变量(在方法中声明)仅在方法中该方法调用的生存期内存在。你需要声明字段,是的,这些是局部变量,在它们的作用域之外是不可见的。您需要以不同的方式构造代码。顺便说一句,用大写字母开头类名(可能使用驼峰大小写)有些传统,因此您的类名应该是MethodAccess……但请注意:)