都是隨時可以用,費那么大勁搞注入,怎么也想不明白,那位大神能用簡單的語言解釋一下,或者轉發一些文章也可以
uj5u.com熱心網友回復:
靜態的只能用靜態不能呼叫非靜態,注入的話沒有這個限制。
uj5u.com熱心網友回復:
你是說Java注入隨時可以用是說的Java代碼中spring的注解如@Autowire,當spring框架初始化會決議注解,實體化這些注解物件,物件默認是一個單例,你可以理解成一個大的hashmap,key是屬性名,val是實體物件。 你說的static隨時可以用她不叫static方法,叫static靜態代碼塊,當類初始化會自動加載靜態代碼塊。spring注解和static本質上都是初始化代碼,沒有區別。希望對你有幫助uj5u.com熱心網友回復:
學java的第一天接受的概念就是java面向物件三大特性,封裝、繼承、多型,靜態方法的句柄是類,面向物件的特性他都沒有,注入的是物件,所以這些注入擁有面向物件的特性.你的問題可以簡化成靜態方法和普通方法的區別,找到事物的矛盾點是學習能力的重要體現,注入這個表象迷惑了你罷了.
uj5u.com熱心網友回復:
靜態方法和普通方法的區別就在于面向物件上的區別,初始化只是一個功能而已,完全不能拿到設計這個層次來講.
uj5u.com熱心網友回復:
就說一點吧,srping管理的bean是代理類uj5u.com熱心網友回復:
從樓主的描述上看,可能他說的Java注入僅僅體現在set或者普通方法上,好吧,可能是我想多了
。
uj5u.com熱心網友回復:
這是靜態物件和非靜態物件的區別,這種區別就不用多說了,跟注入毫無關系至于為什么需要注入,那是因為可以讓容器來幫你管理類而不需要自己手動去new(可以在一定程度上避免物件沒有new而造成空指標錯誤,這樣在一定程度上可以只關注邏輯而不用考慮如果物件沒有初始化而帶來的例外處理)
uj5u.com熱心網友回復:
這是靜態物件和非靜態物件的區別,這種區別就不用多說了,跟注入毫無關系
至于為什么需要注入,那是因為可以讓容器來幫你管理類而不需要自己手動去new(可以在一定程度上避免物件沒有new而造成空指標錯誤,這樣在一定程度上可以只關注邏輯而不用考慮如果物件沒有初始化而帶來的例外處理)
其實我發現我應該是想知道注入比new有啥優點,據說是注入只會申請一次記憶體,那static的類或者方法也只會申請一次記憶體
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/250845.html
標籤:Java EE
上一篇:java 守護行程的代碼 大佬看看 為啥張飛和關羽出不來
下一篇:單例模式筆記
