黑马程序员技术交流社区
标题:
急求!!!final的问题
[打印本页]
作者:
kkopopo
时间:
2014-2-28 19:42
标题:
急求!!!final的问题
本帖最后由 kkopopo 于 2014-2-28 22:07 编辑
public class Test2 {
public static void main(String[] args) {
final int age = 1;
myMetod(age,new Student());//这个地方为何不报错? 我在函数中明明定义的必须为final
}
public static void myMetod(final int x,final Student stu){
//
}
}
class Student{
}
复制代码
代码部分 我明明要求穿进去的参数必须是final的,为何new Student就可以!
作者:
乔青山
时间:
2014-2-28 19:51
你参数上的final仅仅是对于函数内部有效的,函数执行结束后这个函数在栈内存是被释放的,所以参数上的final Student stu是可以再次赋值的。
作者:
李金中
时间:
2014-2-28 20:01
你可以查询下 final的用法。
对于final修饰形参来说,表示 你传入的实参的内容或者值是不能在函数内部改变的。。而跟你传入的实参的方式没有关系。
作者:
kkopopo
时间:
2014-2-28 22:06
乔青山 发表于 2014-2-28 19:51
你参数上的final仅仅是对于函数内部有效的,函数执行结束后这个函数在栈内存是被释放的,所以参数上的final ...
万分感谢!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2