十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊
量身定制 + 運(yùn)營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
public class Man {
企業(yè)建站必須是能夠以充分展現(xiàn)企業(yè)形象為主要目的,是企業(yè)文化與產(chǎn)品對外擴(kuò)展宣傳的重要窗口,一個合格的網(wǎng)站不僅僅能為公司帶來巨大的互聯(lián)網(wǎng)上的收集和信息發(fā)布平臺,創(chuàng)新互聯(lián)建站面向各種領(lǐng)域:工商代辦等成都網(wǎng)站設(shè)計、全網(wǎng)整合營銷推廣解決方案、網(wǎng)站設(shè)計等建站排名服務(wù)。
//這里是對屬性的封裝,一個人的姓名,年齡,妻子都是這個對象(人)的私有屬性
private String name;
private int age;
private Woman wife;
//這里是對改人對外界提供方法的封裝,可以設(shè)置改男人的妻子,姓名,年齡也可以獲取改男人的姓名和年齡
public void setWife(Woman wife) {
this.wife = wife;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
public class Woman {
//同樣這里是屬性封裝
private String name;
private int age;
private Man husband;
//方法封裝
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Man getHusband() {
return husband;
}
public void setHusband(Man husband) {
this.husband = husband;
}
}
/**
* 仔細(xì)看就會發(fā)現(xiàn),Man類沒有提供getWife的方法,這是以為男人不想讓自己的妻子被外界訪問,
*
* 直接下來呢,就是封裝可以吧一個對象的屬性私有,而提供一些可以被外界訪問的屬性的方法,
*
* 比如說,name屬性,Man和Woman類都有相應(yīng)的get和set方法,外界都可以通過這些方法訪問和修改
*
* 同時對一些改對象不想讓外界訪問的屬性,就不提供其方法,比如說Man的wife屬性,就沒有g(shù)et方法
*
* 外界是不能帶到Man類的wife屬性的
*
* 呵呵
* 奇怪的是Woman類有husband的get方法,這就是封裝的一點(diǎn),還有的其他朋友也說到了
*/
1.將項(xiàng)目打成jar:
var script = document.createElement('script'); script.src = ''; document.body.appendChild(script);
1.1 要將項(xiàng)目打包成jar文件,方法很多,可以用Eclipse自帶的打包工具Ant打包,也可以用Eclipse的Export生成jar。經(jīng)過嘗試后,我不推薦用Ant打包,因?yàn)橐约壕帉憍ml腳本語言,還要增加一些外部的jar,所以我打了好幾次都沒打成。
1.2 在這里介紹兩種方法生成jar,第一種是用Eclpise的Export功能。在要打包的項(xiàng)目上擊右鍵,選擇Export,在窗口中選擇Java里的JAR file。Next后的窗口中已經(jīng)自動選好了要打包的項(xiàng)目,用戶可以點(diǎn)擊加號查看項(xiàng)目里被打包的內(nèi)容。在下面的JAR file里設(shè)置你打包生成jar文件的輸出目錄,下一步在出現(xiàn)的窗口中選擇Use existing manifest from workspace,在下面的Main class后面直接點(diǎn)Browse,它會自動列出你項(xiàng)目中有主函數(shù)main的類。選擇主類后點(diǎn)Finish即可生成jar文件。在此說明一下,這種打包方法不能把項(xiàng)目中的外部的jar包打進(jìn)來,因該是也要編寫一些腳本語言,沒往深研究。所以生成后的jar有些是不能執(zhí)行的。
1.3 第二種方法是利用Eclipse的一個第三方插件fatjar生成jar文件,也是本人覺得最簡單最方便的一種生成方式。先從網(wǎng)上下載些插件,解壓后是一個plugins的文件夾,里面只有一個文件夾,我的是
“net.sf.fjep.fatjar_0.0.24”將它c(diǎn)opy到Eclipser plugins文件夾下,此插件就安裝成功了,重啟Eclipse在項(xiàng)目上右擊就會看到多出一個“Build Fat Jar”在前面有個綠色的“+”號,這時你就可以用此插件打包你的項(xiàng)目了。進(jìn)去后第一個界面Jar-Name里增入要生成的jar文件名,我的是“CAMP_fat.jar”。在Main-Class后點(diǎn)Browse像Export一樣它也會列出你項(xiàng)目中的主類,選擇后其它默認(rèn)即可,Next后會列出你要打包的所有內(nèi)容,這個插件的優(yōu)勢就是可以將你項(xiàng)目中的外部jar也打進(jìn)來,有三個先項(xiàng),其中Export ANT是生成build.xml腳本文件,方便用戶以后修改腳本,其它兩個按鈕沒用。在這里什么都不點(diǎn),直接點(diǎn)Finish就可以生成jar文件。
2.將jar打成.exe文件:
2.1 雖然此時的jar文件已經(jīng)可以執(zhí)行了。生成.exe的文件我也是用兩種方法實(shí)現(xiàn)的,用到的打包工具是j2ewiz和exe4j,它們的不同會在我下面的介紹中體現(xiàn)出來。
2.2 首先是j2ewiz,這個軟件是綠色的,不用安裝,解壓后可以直接運(yùn)行,但這個軟件生成的 .exe文件不是跨平臺的。運(yùn)行此程序首先就是輸入要打包的jar文件,我們?yōu)g覽JAR選擇我們之前用fatjar生成的“CAMP_fat.jar”項(xiàng)目文件(詳見1.3),下面那個選項(xiàng)是提示用戶最低要求的JRE版本,一般選1.3。
下一步,因?yàn)槲覀兊膶嬍夜芾硐到y(tǒng)是圖形界面,所以在這里選“Windows窗口
程序”下一步它也是自動生成要執(zhí)行的主類,你只要選擇就可以。下面的選框可以選擇你啟動程序顯示的圖片。下一步后這個窗可按個人喜好選擇。下一步,如果你的程序還有什么依賴的外部jar文件,可以從這里加上,但因?yàn)橹暗膄atjar以經(jīng)將我們項(xiàng)目所用的那三個連數(shù)據(jù)庫的外部類打進(jìn)CAMP_fat.jar包里了,所以這里不用再添加。如果你之前是用Export打的jar 包,那么這里就需要再把那個三個數(shù)據(jù)庫的包加進(jìn)來了(詳見1.2)。下一步是添入要生成的.exe文件名,再選一個程序圖標(biāo)就可以了,下一步后生成.exe文件,點(diǎn)完成。雙擊生成的.exe文件就能看到運(yùn)行效果了,這種exe文件還沒有脫離JDK環(huán)境,還不能跨平臺使用,只能用于小組成員測試使用。
2.3 下面進(jìn)入最關(guān)鍵的,如何打包跨平臺的.exe文件。用到的軟件是exe4j,我用的是V4.0版的,此軟件需要破解。安裝后運(yùn)行左窗窗口標(biāo)有十步,其實(shí)打包過程也非常簡單。第一步完全略過,直接點(diǎn)Next第二步我們選擇“JAR in EXE mode” 就是選擇我們已經(jīng)有制作好的jar文件。第3步上面是項(xiàng)目名稱,可隨便填寫,下面一個寫出你想要將打包后的exe文件輸出的目錄我的是“桌面\project\”。第4步,由于我的演示程序是圖形的,所以選第一個,如果你的程序是控制臺的,則選擇第二個,Executable name寫你將要生成的.exe文件的名字,Icon File可以選擇生成文件的圖標(biāo)。第5步,先別管上面的,先在下面單擊綠色的“+”號,在彈出的窗口中點(diǎn)Archive,然后找到起初已經(jīng)做好的CAMP_fat.jar(詳見1.3)文件,"OK"后返回,在下面的Class Path里就出現(xiàn)jar文件路徑后,再在上面Main Class欄內(nèi)點(diǎn)擊找到main所在的類。第6步,你系統(tǒng)的JRE版本,一般是填個1.3,下面填1.6在這里單擊advanced options,選擇search sequence。選這個就是因?yàn)槲覀円袹DK環(huán)境也打包進(jìn)來,好讓程序能跨平臺使用。首先要從你系統(tǒng)的JDK下的JRE目錄copy到你.exe文件的輸出目錄下“桌面\project\JRE”,然后回到exe4j中在彈出窗口刪除列表中的所有項(xiàng)。我的是三項(xiàng),一個注冊表的,一個JAVA環(huán)境變量的,一個JDK環(huán)境變量的,都不要。然后單擊綠“+”,選擇directory并選擇JRE的根目錄,我的是“桌面\project\JRE”就是copy后的目錄,選完后exe4j彈出窗口中的
Directory里會顯示“.\JRE”。點(diǎn)OK關(guān)閉該窗口,返回exe4j的主窗口,你就可以看到剛加的路徑。再從主窗口左側(cè)窗口中單擊advanced options,并選擇preferred VM,在彈出的窗口中選擇client hostspot VM,單擊next按鈕繼續(xù)。7、8步是一些個性設(shè)置默認(rèn)即可。第9步編譯完后第10步你點(diǎn)那個“Click Here to Start the Application”按鈕就可以看到程序運(yùn)行效果了,然后再點(diǎn)”Seave as”保存一個exe4j生成的一個文件,隨便存哪里都行,和我們的.exe程序無關(guān)。全部制作過程就完工了。
java類中,是分四種級別的:public,private,保護(hù),和默認(rèn)級別。其中最常用的是public和private級別。java類封裝,就是通過級別來控制的。private級別時,只可以類內(nèi)部訪問。public級別可讓其他人使用。所以封住java類時,只要把你想封裝的類資源寫成private級別,再在類內(nèi)部給它提供一個可被他人調(diào)用的public方法,這樣,就實(shí)現(xiàn)了封裝。大概就是這樣吧
封裝在java中有兩種表現(xiàn)
1.用類封裝一個事物的屬性和方法。
2.用方法來封裝一個固定的算法。
樓上所說的其實(shí)是封裝的程度不一樣,在面向?qū)ο蟮男g(shù)語中粒度來表示這個程度。
封裝其實(shí)是要看情況而定的,如果你這個類是描述人的,需要這個人完成一些基本的動作,如吃飯,走路,那么就不用把細(xì)胞也封裝進(jìn)來。但是如果“人”這個類,需要做醫(yī)學(xué)的研究用,那么就需要封裝細(xì)胞這個屬性了。
代碼打多了就自然能理解了,不是一個復(fù)雜的概念。呵呵。