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;
为什么会出现上述错误?
答案 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);
}
}