封裝是保證軟件部件具有優(yōu)良的模塊性的基礎,封裝的目標就是要實現(xiàn)軟件部件的“高內(nèi)聚、低耦合”,防止程序相互依賴性而帶來的變動影響。在面向對象的編程語言中,對象是封裝的最基本單位,面向對象的封裝比傳統(tǒng)語言的封裝更為清晰、更為有力。面向對象的封裝就是把描述一個對象的屬性和行為的代碼封裝在一個“模塊”中,也就是一個類中,屬性用變量定義,行為用方法進行定義,方法可以直接訪問同一個對象中的屬性。通常情況下,只要記住讓變量和訪問這個變量的方法放在一起,將一個類中的成員變量全部定義成私有的,只有這個類自己的方法才可以訪問到這些成員變量,這就基本上實現(xiàn)對象的封裝,就很容易找出要分配到這個類上的方法了,就基本上算是會面向對象的編程了。把握一個原則:把對同一事物進行操作的方法和相關的方法放在同一個類中,把方法和它操作的數(shù)據(jù)放在同一個類中。
抽象就是找出一些事物的相似和共性之處,然后將這些事物歸為一個類,這個類只考慮這些事物的相似和共性之處,并且會忽略與當前主題和目標無關的那些方面,將注意力集中在與當前目標有關的方面。例如,看到一只螞蟻和大象,你能夠想象出它們的相同之處,那就是抽象。
在定義和實現(xiàn)一個類的時候,可以在一個已經(jīng)存在的類的基礎之上來進行,把這個已經(jīng)存在的類所定義的內(nèi)容作為自己的內(nèi)容,并可以加入若干新的內(nèi)容,或修改原來的方法使之更適合特殊的需要,這就是繼承。繼承是子類自動共享父類數(shù)據(jù)和方法的機制,這是類之間的一種關系,提高了軟件的可重用性和可擴展性。
多態(tài)是指程序中定義的引用變量所指向的具體類型和通過該引用變量發(fā)出的方法調(diào)用在編程時并不確定,而是在程序運行期間才確定,即一個引用變量倒底會指向哪個類的實例對象,該引用變量發(fā)出的方法調(diào)用到底是哪個類中實現(xiàn)的方法,必須在由程序運行期間才能決定。因為在程序運行時才確定具體的類,這樣,不用修改源程序代碼,就可以讓引用變量綁定到各種不同的類實現(xiàn)上,從而導致該引用調(diào)用的具體方法隨之改變,即不修改程序代碼就可以改變程序運行時所綁定的具體代碼,讓程序可以選擇多個運行狀態(tài),這就是多態(tài)性。
java實現(xiàn)多態(tài)的機制:靠的是父類或接口定義的引用變量可以指向子類或具體實現(xiàn)類的實例對象,而程序調(diào)用的方法在運行期才動態(tài)綁定,就是引用變量所指向的具體實例對象的方法,也就是內(nèi)存里正在運行的那個對象的方法,而不是引用變量的類型中定義的方法。
另: javaEE中的session的理解--
session機制是一種服務器端的機制,服務器使用一種類似于散列表的結構(也可能就是使用散列表)來保存信息。在服務器上,通過Session來區(qū)分每一個上網(wǎng)用戶用戶只要一連接到服務器,則立刻分配一個Session給用戶
Session主要方法:
Session ID是由服務器統(tǒng)一管理的,人為不能控制
方法:session.getID();
長度:32
2 判斷是否是新的Session
public boolean isNew();
判斷當前的Session是否是新建立的Session
3 Session的屬性設置
設置屬性:public void setAttribute(String name,Object value)
取得屬性:public Object getAttribute(String name)
刪除屬性:pbulic void removeAttribute(String name)
4 登陸驗證
通過Session能夠對用戶是否登陸做出驗證
public void putValue(String name,Object)-->setAttribute
public Object getValue(String name)-->getAttribute
public removeValue(String name)-->removeAttribute
此三個方法已經(jīng)過時,不建議再使用
注銷用戶:讓用戶的Session失效
如果Session失效,則在Session所保留的全部操作也會消失
public void invalidate()使Session失效(手工)
如果Session長時間不被使用,則也會自動失效
5 得到Session的創(chuàng)建時間
public long getCreationTime()
此方法返回long類型,通過new Date()可以取得一個完成時間
取得用戶最后操作的時間:public long getLastAccessedTime();
6 總結
Session將信息保存在服務器上,而Cookie保存在客戶端上
Session比Cookie更安全,Session比Cookie更占資源
開發(fā)原則:Session要盡量少用--盡量少向Session中保存信息
session使用了Cookie的機制,如果Cookie被禁用,則Session也無法使用,因為客戶端的session ID以cookie形式,保存在了客戶端的內(nèi)存當中,這個時候我們可以通過url重寫,來保證session的有效性.
重寫url的方法如下
resp.encodeURL(request.getRequestURL().toString()); http://phl.iteye.com/blog/699574
轉載:
感覺網(wǎng)站最好不要依賴session
session 在做 多服務器負載的時候
會有點麻煩
直接用 cookie + 第三方緩存 比較的好...
自己在兩個公司呆過后得出的結論,純屬個人體會 ...