以下是我的代码,我使用的是 Eclipse IDE。
因此,我创建了两个类,其中一个称为 Mainclass
,另一个称为 Testclass
。
下面的代码工作正常,但如果我在计算方法之外声明 int 或 integer 类型的整数类型的 i
和 j
变量并写入变量名称仅在计算方法的括号内才会显示错误。我想知道为什么会发生这种情况,在我的原始代码下面是我上面描述的更改后的代码,它显示了荒谬的错误。
[原始代码工作正常]
package calculation;
public class Mainclass {
public static void main(String[] args) {
Testclass obj=new Testclass();
System.out.println(obj.calculate(10,20));
}
}
public class Testclass {
int a;
public int calculate(int i, int j) {
a=i+j;
return a;
}
}
[/原始代码工作正常]
[此代码无法正常工作]
package calculation;
public class Mainclass {
public static void main(String[] args) {
Testclass obj=new Testclass();
System.out.println(obj.calculate(10,20));
}
}
public class Testclass {
int a;
int i;
int j;
public int calculate(i,j) {
a=i+j;
return a;
}
}
[/这段代码不能正常工作]
为什么我们必须在方法的括号内而不是在其外部声明其类型的变量。
提前致谢。
最佳答案
public class Testclass {
int a;
int i;
int j;
public int calculate(i,j) {
a=i+j;
return a;
}
}
在方法参数中,您声明了局部变量,它们与实例变量 i 和 j 不同。
这意味着:你必须用类型来声明它们。此时,编译器不知道那些本地 i 和 j 是什么,因此他不知道如何处理它们。
public class Testclass {
int a;
int i;
int j;
public int calculate(int i, int j) {
a=i+j;
return a;
}
}
这将解决您的问题,但请记住:方法中使用的 i 和 j 是局部变量,而不是实例成员。
关于Java.Eclipse 在使用参数在方法外部声明类型的变量时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30321535/