In.java:16:错误:找不到符号结果= i + j;

时间:2016-05-18 13:08:40

标签: java

class A
{
    public void sum()
    {
        int i=5,j=5;
        System.out.println("Sum of "+i+" and "+j);
    }
}
class In extends A
{
    public static void main(String args[])
    {
        A obj=new A();
        obj.sum();
        int result=0;
        result=i+j;
        System.out.println(" = "+result );
    }
}

In.java:16:错误:找不到符号结果= i + j;
为什么会出现上述错误?

3 个答案:

答案 0 :(得分:2)

i和j变量是求和的本地变量,因此仅在执行期间可用。即使main调用sum,sum的局部变量也会在控制返回main之前消失(即使它们在sum之外是可见的)。

答案 1 :(得分:0)

整数i和j是sum()函数中的局部变量,因此函数外部的任何东西都无法访问它。如果您想要修改或访问它们,可以使它们成为类的成员。除此之外,没有太多可以说的,因为我们不知道代码的目的

答案 2 :(得分:0)

如果你使i和j全局化,你将摆脱错误。

class A
{
    public static int i = 5;
    public static int j = 5;

    public void sum()
    {
        System.out.println("Sum of " + i + " and " + j);
    }
}
class In extends A
{
    public static void main(String args[])
    {
        A obj = new A();
        obj.sum();
        int result = 0;
        result = i + j;
        System.out.println(" = " + result);
    }
}