在平时编程时没有注意,经常用到函数,而没小心注意,结果,把参数里的值改变了,而JAVA里默认是按地址传送参数的,这样就会修改这个参数的值,导致其它函数问题
最好的方法是在传参数时指定是按什么方式来传值.
另外,在函数里,或者函数所在的类里,不要去传入的参数进行改变的操作.
我最近在做的项目里就出现了这个问题,不过不仅是函数,还到了类里面.
我在user类里定义了一个Connection 属性,然后定义了两种构造函数,一种是带了这个Connection做参数的构造函数,另一种是无参数的构造函数,在这个函数里自己创建了一个Connection.
我现在在想,会不会出现这种情况:当这个类使用完后,主动释放类里的资源,结果这个Connection释放后,来源的那个Connection也空了,造成一些问题.
如果真会出现这种情况,那最好是小心点
在我项目里出现的另一个不小心的问题还有一个:
就是在类里定义了一个全局属性,然后使用这个属性来接收一些函数返回值,而在另一些地方使用到了这个属性,结果导致异常.
比如一个object 对象,接收函数返回值后,可能就为空了,再使用时就会报NULL的错误.
解决办法:就是不使用这种全局性的属性来接收返回值,在要接收的地方使用局部变量来接收
以上是做项目中的一些心得,写下来,以备后用.
Tags: JAVA |
原创文章如转载,请注明:转载自:巴士飞扬-技术BLOG : http://www.busfly.net/
本文链接地址:http://www.busfly.net/post/funtion-param-close.html
如果你喜欢本文,请顶一下,支持我,你的支持是我继续发好文章的最大动力。谢谢。
好东西需要分享,快把本文发给你的朋友吧~!~