我还在学习CS的基础知识,虽然我知道一个正式的参数和对象是什么,但我想知道我是否可以将它们归类为局部变量。
例如,如果我在Foo类中:
private void bar(int x) {
x = x + 5;
Foo foo1 = new Foo();
foo1.doCrazyStuff();
}
我仍然会将方法定义中的x引用为形式参数,还是将x称为局部变量,因为一旦堆栈帧消失,它的值就会消失?将foo1视为局部变量是否合适?
答案 0 :(得分:1)
查看Java语言规范定义的各种variable types:
根据此分类,x
是方法参数,foo1
是本地变量。
答案 1 :(得分:0)
将foo1视为局部变量是否合适?
是和否。
参数实际上是局部变量。
但是让它们final
更合适并且不要使用它们。