问题描述
有一个HTMLFilter类 如果我把doFilter做成static 就可以不new对象来用,很方便但这样就没法给它制造一个接口 我想问一下,static什么时候用比较好?
解决方案
无生命周期的用static,有生命周期的不用static。需要用到面向对象行为特征的不用static,static本身不属于面向对象范畴,用了static,无法多态。static是常驻内存的,不会被回收的,没有生命的。所以少用static。如果HTMLFilter是工具类,可以写成final类,private构造函数,成员函数均为static。这样这个类就彻底固化在内存了。
解决方案二:
一般来说,在常量类中定义常量,这些属性的值不会改变用static ;如果在过滤器或servlet、类中有一些程序要首先执行可以把它放在static块中;如果类与类之间要解耦可以用static;或者在类中使用静态方法可以用static
时间: 2024-10-03 22:11:50