【发布时间】:2016-12-01 21:36:23
【问题描述】:
class add{
add(){
int a=0;
int b=0;
}
void display()
{ int s;
s=a+b;
System.out.println(s);
}
}
class main{
public static void main(String arg[])
{
add so=new add();
so.display();
}
}
当我运行时,它显示 a,b 未定义,而 s 已定义。 当 display() 函数正常工作时,不会调用默认构造函数。
显然我是在构造函数中声明变量。因此它对我不起作用。
【问题讨论】:
-
因为
a和b是构造函数的本地变量,因此无法从display()访问 -
a和b是构造函数中的局部变量。当构造函数完成时,它们会被移除。 -
你怎么能运行它呢?这甚至不应该编译。
-
这完全坏了。而且你没有调用构造函数的“事实”可能有点错误。
-
我正在输入一个答案,但我真正想到的是这是一个非常糟糕的代码示例,必须完全改变它才能完全正确。
标签: java class object methods constructor