说来惭愧,菜鸡如我,在很长一段时间内都以为private和public之间可以随便用,直到最近几天,我在写jsp时,发现后台与页面交互出现了问题,提交的东西,在页面没有响应。debug,百度各种操作,研究了半点,然并无卵用。后面在肉眼扫代码的时候,突然意识到这个参数是private。因为前段时间大致了解了一下jsp这方面的部分,jsp其实项目运行中,其实每一个jsp文件也是一个java类,这样理解的话就相当两个类在互相调用。所以懵逼的事情突然一下就通了
为什么这样说了,因为在private和public分别有这不同的权限控制,private成员参数,都只能在类中进行访问,如果两个类之间进行交互则只有两种方式,一种是定义public的类,第二种是给参数定义get,set方法(获取或者修改)。一般都是使用第二种情况。而public成员参数,则是全员开放,只要获得这个参数的对象,谁都可以随意更改获取这个参数。这样相对就不太安全。所以在一般情况下,对象的成员参数一般都指定为private。
当然这个问题也解决了,分别定义一个public的get,set方法就ok了。当然为了证明上一段说的是不是对的,然后我也试了用public定义这个参数,也可以解决这个问题。