Java.Eclipse 在使用参数在方法外部声明类型的变量时出错

标签 java eclipse

以下是我的代码,我使用的是 Eclipse IDE。

因此,我创建了两个类,其中一个称为 Mainclass,另一个称为 Testclass

下面的代码工作正常,但如果我在计算方法之外声明 int 或 integer 类型的整数类型的 ij 变量并写入变量名称仅在计算方法的括号内才会显示错误。我想知道为什么会发生这种情况,在我的原始代码下面是我上面描述的更改后的代码,它显示了荒谬的错误。

[原始代码工作正常]

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/

相关文章:

java - 如何使用并行流将 foreach 更改为 lambda

xml - Eclipse XML 格式化程序

java - 正确使用repaint()方法

android - 三星 Galaxy Note 10.1 2014 版有 Windows 驱动程序吗?

java - 编译器看不到main方法

java - 怎么在小数点前加0

Android 库项目与 native 代码包库在 APK 中两次

android - Google 插件不适用于 App Engine 项目 - Eclipse Indigo - WindowsXP

java - 如何在保留形状的同时优化图形的渲染?

java - 如何将图表系列堆叠在一起并垂直分隔?