Java中同一个类下一个方法怎样访问另一个方法下的变量深圳
2个回答
展开全部
在java中,一个方法中式不能够访问另一个方法中定义的变量的!
为什么?其实在java中,变量按照作用域主要分为两种:全局变量和具备变量!全局变量一般都是类的属性!局部变量一般都是写在方法中或者写在其他语句块中(如:循环语句块和switch语句块等)。
作为局部变量,他的作用域(或者说使用范围)仅仅只是在于,当前变量被定义的位置一直到这个变量所在语句块中的最后(也就是"}"所在位置)。
也就是说,在一个方法中定义的变量,仅仅只能在这个方法中才能够正常使用!在别的方法中是无法直接使用的!
所以,就你这个问题,给你一个解决办法,将这个变量设成一个属性!让这个变量成为一个全局的存在!
这样的话,你就能在这个类的方法中使用这个变量了!
友情提示一下:如果想直接在main函数中用(实际上也就是在使用的static修饰的方法中用),这个属性页必须被定义成static的!关于这个,你可以去看看static的用法!
大概知道你的意思了,你是想在不同的方法中对sql进行包装,然后通过统一的方式获得包装后的sql语句,而且这些sql语句之间还不能有影响!
其实,想法虽然是好的,但是实现起来可能会比较有难度!你去思考一个问题,你在getsql()方法中,如何设定逻辑,才能够自由的去调用你所写的public List search_sim(String condition)的其它方法?
而且,假使你能够实现,在一个方法中调用其他方法中定义的变量还是不现实的!要么把这个变量定义为全局的,要么把这个sql语句干脆设定为这个方法的返回值!
Θ
为什么?其实在java中,变量按照作用域主要分为两种:全局变量和具备变量!全局变量一般都是类的属性!局部变量一般都是写在方法中或者写在其他语句块中(如:循环语句块和switch语句块等)。
作为局部变量,他的作用域(或者说使用范围)仅仅只是在于,当前变量被定义的位置一直到这个变量所在语句块中的最后(也就是"}"所在位置)。
也就是说,在一个方法中定义的变量,仅仅只能在这个方法中才能够正常使用!在别的方法中是无法直接使用的!
所以,就你这个问题,给你一个解决办法,将这个变量设成一个属性!让这个变量成为一个全局的存在!
这样的话,你就能在这个类的方法中使用这个变量了!
友情提示一下:如果想直接在main函数中用(实际上也就是在使用的static修饰的方法中用),这个属性页必须被定义成static的!关于这个,你可以去看看static的用法!
大概知道你的意思了,你是想在不同的方法中对sql进行包装,然后通过统一的方式获得包装后的sql语句,而且这些sql语句之间还不能有影响!
其实,想法虽然是好的,但是实现起来可能会比较有难度!你去思考一个问题,你在getsql()方法中,如何设定逻辑,才能够自由的去调用你所写的public List search_sim(String condition)的其它方法?
而且,假使你能够实现,在一个方法中调用其他方法中定义的变量还是不现实的!要么把这个变量定义为全局的,要么把这个sql语句干脆设定为这个方法的返回值!
Θ
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询