我们都知道final修饰的对象地址值不能改变,如图
但是把一个用final修饰的对象作为参数传递的时候,地址值可以改变吗?会不会报错呢?如图
因为形参Other other是addOne()方法的变量,这个other只是用来接收方法调用处传递的实参,换句话说,他就是用来保存传过来的 o 的地址值,而形参的Other并没有使用final修饰,所以不会报错。如果addOne的Other也是用final修饰就会报错了,如图:
我们都知道final修饰的对象地址值不能改变,如图
但是把一个用final修饰的对象作为参数传递的时候,地址值可以改变吗?会不会报错呢?如图
因为形参Other other是addOne()方法的变量,这个other只是用来接收方法调用处传递的实参,换句话说,他就是用来保存传过来的 o 的地址值,而形参的Other并没有使用final修饰,所以不会报错。如果addOne的Other也是用final修饰就会报错了,如图:
上一篇:java面向对象面试题(3)
下一篇:递归实现二分查找
举报文章
请选择举报类型
补充说明
0/200
上传截图
格式支持JPEG/PNG/JPG,图片不超过1.9M