有一個(gè)HTMLFilter類 如果我把doFilter做成static 就可以不new對(duì)象來(lái)用,很方便但這樣就沒(méi)法給它制造一個(gè)接口我想問(wèn)一下,static什么時(shí)候用比較好?
2 回答

眼眸繁星
TA貢獻(xiàn)1873條經(jīng)驗(yàn) 獲得超9個(gè)贊
無(wú)生命周期的用static,有生命周期的不用static。
需要用到面向?qū)ο笮袨樘卣鞯牟挥胹tatic,static本身不屬于面向?qū)ο蠓懂牐昧藄tatic,無(wú)法多態(tài)。
static是常駐內(nèi)存的,不會(huì)被回收的,沒(méi)有生命的。
所以少用static。如果HTMLFilter是工具類,可以寫成final類,private構(gòu)造函數(shù),成員函數(shù)均為static。這樣這個(gè)類就徹底固化在內(nèi)存了。

炎炎設(shè)計(jì)
TA貢獻(xiàn)1808條經(jīng)驗(yàn) 獲得超4個(gè)贊
一般來(lái)說(shuō),在常量類中定義常量,這些屬性的值不會(huì)改變用static ;如果在過(guò)濾器或servlet、類中有一些程序要首先執(zhí)行可以把它放在static塊中;如果類與類之間要解耦可以用static;或者在類中使用靜態(tài)方法可以用static
添加回答
舉報(bào)
0/150
提交
取消