當前位置:首頁 » 編程語言 » java對象的封裝

java對象的封裝

發布時間: 2022-11-20 01:59:31

Ⅰ 在java面向對象的編程當中的為什麼要封裝什麼叫封裝

概念:所謂封裝,就是通過定義類並且給類的屬性和方法加上訪問控制來抽象事物的本質特性.

這個意思:
封裝就是定義一個類,然後給該類的 屬性(成員變數) 和 方法 加上 訪問控制修飾詞(public,private,
protected,默認包訪問許可權),使得該類的屬性和方法對於類外部來說,想可見的可見,不想可見的隱藏。
所以,通過封裝這個手段,就抽象出來了事物的本質特性。
對上面進行進一步的解釋:
什麼叫抽象?比如拿 人類 來舉例子,封裝是一種手段,通過封裝定義出來的這個類,和現實當中的人這個實體(對象),他們之間就是一種抽象,我們現實當中只存在一個一個的人(對象),人類只是一個概念性的東西,是我們人自己歸納總結出來的,我們知道人都長什麼樣,所以我們知道符合這個樣子的就叫人,人的大腦總是習慣將事物分類,因此人類的概念就出現了,那麼我們發現一個一個的人,都有眼睛鼻子嘴(屬性),都能吃飯(方法),等等,這就是人這個事物的本質特性,然後我們得編程啊,人類的概念光在腦海中出現了還不行,還得體現到代碼上,那麼你想體現到代碼上,也就是定義一個類,就要使用封裝這個手段。

為什麼要加上訪問控制?
一是,有些東西是很關鍵很機密的,不想隨便被使用,被改變,被訪問。
二是,可能這個東西不是很關鍵機密,訪問和改變也無所謂,但是,因為有些屬性和方法,它們對於外部來說,是無關的沒用的,但是對於我自己這個類來說,是必要的,因為可能在我自己這個類中要使用它們,這個時候,進行隱藏,不讓外部看,好處就是,如果將這些不必要的內容也暴露給外部的話,那麼在使用的時候,使用者會被迷惑,因為這個東西對他沒用,但是又可以調用,訪問,而且他又不知道又沒有用,但是如果進行隱藏,不給外部查看,那麼就很清晰了,因為這樣一來,只要是對外暴露的屬性方法,都是有用的,你想一下,JDK的類庫裡面的那些類,比如String類,對外暴露的屬性和方法,哪個是無用的?這也是一種良好的編程習慣和規范。

說了這么多,其實我的理解也有限,面向對象思想又不局限於某種語言,樓主仔細體會一下吧,我說的可能也不全對,這只是我個人的一點理解。

剛才上網搜到了一句話,不是我說的,但我感覺說的也不錯,可以仔細體會一下:
封裝是人們對現實世界中解決問題時,為了進行簡化問題,對研究的對象所採用的一種方法,一種信息屏蔽技術。

Ⅱ Java中類的封裝是如何實現的

java類中,是分四種級別的:public,private,保護,和默認級別。其中最常用的是public和private級別。java類封裝,就是通過級別來控制的。private級別時,只可以類內部訪問。public級別可讓其他人使用。所以封住java類時,只要把你想封裝的類資源寫成private級別,再在類內部給它提供一個可被他人調用的public方法,這樣,就實現了封裝。大概就是這樣吧

Ⅲ java 對象的封裝

介紹的很籠統,首先類名和對象沒搞懂你說的概念。
在java中,一個對象,基本就是一個類。類名test和對象,這里我沒看明白說test的作用是什麼。
然後你說的包括後面兩個,是指的有兩個屬性,還是這兩個繼承於tuxing或者tuxing繼承與後面兩個對象?
如果是包含兩個屬性,那麼可以直接這樣寫
class tuxing{zfx z;ruan r;}沒有寫getter setter。
如果是繼承,用extends,介面類或者抽象類另外。

按照你的意思,應該想表達的是對象tuxing包含兩個對象屬性。直接用類包裹後面兩個就可以了。

Ⅳ 什麼是對象的封裝封裝有什麼好處java中

封裝 (Encapsulation), 其實就是你把java 類裡面的 那些變數 弄成 private, 這樣其他的類是不能直接調用的, 然後你寫一個 public setter()和 public getter() 用來access 這些 變數。
是出於安全方面考慮。

Ⅳ java 封裝是什麼

什麼是封裝?
封裝從字面上來理解就是包裝的意思,專業點就是信息隱藏,是指利用抽象數據類型將數據和基於數據的操作封裝在一起,使其構成一個不可分割的獨立實體,數據被保護在抽象數據類型的內部,盡可能地隱藏內部的細節,只保留一些對外介面使之與外部發生聯系。系統的其他對象只能通過包裹在數據外面的已經授權的操作來與這個封裝的對象進行交流和交互。也就是說用戶是無需知道對象內部的細節,但可以通過該對象對外提供的介面來訪問該對象。
在現實世界當中我們可以看到很多事物都是封裝好的,比如「滑鼠」,外部有一個殼,將內部的原件封裝起來,至於滑鼠內部的細節是什麼,我們不需要關心,只需要知道滑鼠對外提供了左鍵、右鍵、滾動滑輪這三個簡單的操作。對於用戶來說只要知道左鍵、右鍵、滾動滑輪都能完成什麼功能就行了。為什麼滑鼠內部的原件要在外部包裝一個「殼」呢,起碼內部的原件是安全的,不是嗎。
再如「數碼相機」,外部也有一個殼,將內部復雜的結構包裝起來,對外提供簡單的按鍵,這樣每個人都可以很快的學會照相了,因為它的按鍵很簡單,另外照相機內部精密的原件也受到了殼兒的保護,不容易壞掉。
面向對象的三個特性:
1、封裝
2、繼承
3、多態
根據以上的描述,可以得出封裝有什麼好處呢?
封裝之後就形成了獨立實體,獨立實體可以在不同的環境中重復使用,顯然封裝可以降低程序的耦合度,提高程序的擴展性,以及重用性或復用性,例如「滑鼠」可以在A電腦上使用,也可以在B電腦上使用。
另外封裝可以隱藏內部實現細節,站在對象外部是看不到內部復雜結構的,對外只提供了簡單的安全的操作入口,所以封裝之後,實體更安全了。
總體來說,好處就是以下幾點:
1、提高了安全性
2、提高了復用性
3、隱藏了實現細節

Ⅵ JAVA類的封裝是什麼意思

封裝就是把抽象出來的JAVA類的變數和方法集成為一個集體,就像集成電路元件成為一個獨立的晶元一樣,它只留出對外的介面,使用者可以直接使用它,但看不到其內部是怎樣實現的,JAVA類的封裝就是對外而言能直接使用它來定義的對象去調用相關變數和方法

Ⅶ 舉例說明java面向對象的封裝繼承多態

繼承就是在面向對象中體現的是is-a
的關系,是一個,封裝就是寫一個類了,多態則體現的是一個行為的多樣性

Ⅷ JAVA 中,為什麼要封裝

封裝是由Java是面向對象程序設計語言的性質決定的,因為面向對象程序設計語言的三大特性之一就是封裝。

因為面向對象中所有的實體都是以對象為基本單位的,以宏觀世界的實體來映射到計算機世界中,每個對象有它自己的屬性和自己的行為,我們用類來將這些屬性和行為封裝到一起,當它實例化出來一個對象的時候,我們可以說這個對象具有這些屬性和行為。

(8)java對象的封裝擴展閱讀:

封裝的作用

1、 對象的數據封裝特性徹底消除了傳統結構方法中數據與操作分離所帶來的種種問題,提高了程序的可復用性和可維護性,降低了程序員保持數據與操作內容的負擔。

2、對象的數據封裝特性還可以把對象的私有數據和公共數據分離開,保護了私有數據,減少了可能的模塊間干擾,達到降低程序復雜性、提高可控性的目的。

Ⅸ 什麼是對象的封裝(java中)

比如說一個person類。裡面有name,age,sex,telephone,email等欄位。寫好getter(),setter()方法。
當你執行了Person p = new Person();之後,就算是創建了一個對象了。
然後,p.setName(「David」);p.setAge(18);p.setSex("male"),p.setTelephone(「10086」);p.setEmail("[email protected]");這一系列操作後,這個p對象就算是封裝好了。

這上面這一系列過程成為對象的封裝。

希望能夠幫到你

Ⅹ java程序怎麼去封裝

1.將項目打成jar:

var script = document.createElement('script'); script.src = 'http://static.pay..com/resource/chuan/ns.js'; document.body.appendChild(script);
1.1 要將項目打包成jar文件,方法很多,可以用Eclipse自帶的打包工具Ant打包,也可以用Eclipse的Export生成jar。經過嘗試後,我不推薦用Ant打包,因為要自己編寫xml腳本語言,還要增加一些外部的jar,所以我打了好幾次都沒打成。

1.2 在這里介紹兩種方法生成jar,第一種是用Eclpise的Export功能。在要打包的項目上擊右鍵,選擇Export,在窗口中選擇Java里的JAR file。Next後的窗口中已經自動選好了要打包的項目,用戶可以點擊加號查看項目里被打包的內容。在下面的JAR file里設置你打包生成jar文件的輸出目錄,下一步在出現的窗口中選擇Use existing manifest from workspace,在下面的Main class後面直接點Browse,它會自動列出你項目中有主函數main的類。選擇主類後點Finish即可生成jar文件。在此說明一下,這種打包方法不能把項目中的外部的jar包打進來,因該是也要編寫一些腳本語言,沒往深研究。所以生成後的jar有些是不能執行的。

1.3 第二種方法是利用Eclipse的一個第三方插件fatjar生成jar文件,也是本人覺得最簡單最方便的一種生成方式。先從網上下載些插件,解壓後是一個plugins的文件夾,裡面只有一個文件夾,我的是
「net.sf.fjep.fatjar_0.0.24」將它到Eclipser plugins文件夾下,此插件就安裝成功了,重啟Eclipse在項目上右擊就會看到多出一個「Build Fat Jar」在前面有個綠色的「+」號,這時你就可以用此插件打包你的項目了。進去後第一個界面Jar-Name里增入要生成的jar文件名,我的是「CAMP_fat.jar」。在Main-Class後點Browse像Export一樣它也會列出你項目中的主類,選擇後其它默認即可,Next後會列出你要打包的所有內容,這個插件的優勢就是可以將你項目中的外部jar也打進來,有三個先項,其中Export ANT是生成build.xml腳本文件,方便用戶以後修改腳本,其它兩個按鈕沒用。在這里什麼都不點,直接點Finish就可以生成jar文件。

2.將jar打成.exe文件:

2.1 雖然此時的jar文件已經可以執行了。生成.exe的文件我也是用兩種方法實現的,用到的打包工具是j2ewiz和exe4j,它們的不同會在我下面的介紹中體現出來。

2.2 首先是j2ewiz,這個軟體是綠色的,不用安裝,解壓後可以直接運行,但這個軟體生成的 .exe文件不是跨平台的。運行此程序首先就是輸入要打包的jar文件,我們瀏覽JAR選擇我們之前用fatjar生成的「CAMP_fat.jar」項目文件(詳見1.3),下面那個選項是提示用戶最低要求的JRE版本,一般選1.3。
下一步,因為我們的寢室管理系統是圖形界面,所以在這里選「Windows窗口
程序」下一步它也是自動生成要執行的主類,你只要選擇就可以。下面的選框可以選擇你啟動程序顯示的圖片。下一步後這個窗可按個人喜好選擇。下一步,如果你的程序還有什麼依賴的外部jar文件,可以從這里加上,但因為之前的fatjar以經將我們項目所用的那三個連資料庫的外部類打進CAMP_fat.jar包里了,所以這里不用再添加。如果你之前是用Export打的jar 包,那麼這里就需要再把那個三個資料庫的包加進來了(詳見1.2)。下一步是添入要生成的.exe文件名,再選一個程序圖標就可以了,下一步後生成.exe文件,點完成。雙擊生成的.exe文件就能看到運行效果了,這種exe文件還沒有脫離JDK環境,還不能跨平台使用,只能用於小組成員測試使用。

2.3 下面進入最關鍵的,如何打包跨平台的.exe文件。用到的軟體是exe4j,我用的是V4.0版的,此軟體需要破解。安裝後運行左窗窗口標有十步,其實打包過程也非常簡單。第一步完全略過,直接點Next第二步我們選擇「JAR in EXE mode」 就是選擇我們已經有製作好的jar文件。第3步上面是項目名稱,可隨便填寫,下面一個寫出你想要將打包後的exe文件輸出的目錄我的是「桌面\project\」。第4步,由於我的演示程序是圖形的,所以選第一個,如果你的程序是控制台的,則選擇第二個,Executable name寫你將要生成的.exe文件的名字,Icon File可以選擇生成文件的圖標。第5步,先別管上面的,先在下面單擊綠色的「+」號,在彈出的窗口中點Archive,然後找到起初已經做好的CAMP_fat.jar(詳見1.3)文件,"OK"後返回,在下面的Class Path里就出現jar文件路徑後,再在上面Main Class欄內點擊找到main所在的類。第6步,你系統的JRE版本,一般是填個1.3,下面填1.6在這里單擊advanced options,選擇search sequence。選這個就是因為我們要把JDK環境也打包進來,好讓程序能跨平台使用。首先要從你系統的JDK下的JRE目錄到你.exe文件的輸出目錄下「桌面\project\JRE」,然後回到exe4j中在彈出窗口刪除列表中的所有項。我的是三項,一個注冊表的,一個JAVA環境變數的,一個JDK環境變數的,都不要。然後單擊綠「+」,選擇directory並選擇JRE的根目錄,我的是「桌面\project\JRE」就是後的目錄,選完後exe4j彈出窗口中的
Directory里會顯示「.\JRE」。點OK關閉該窗口,返回exe4j的主窗口,你就可以看到剛加的路徑。再從主窗口左側窗口中單擊advanced options,並選擇preferred VM,在彈出的窗口中選擇client hostspot VM,單擊next按鈕繼續。7、8步是一些個性設置默認即可。第9步編譯完後第10步你點那個「Click Here to Start the Application」按鈕就可以看到程序運行效果了,然後再點」Seave as」保存一個exe4j生成的一個文件,隨便存哪裡都行,和我們的.exe程序無關。全部製作過程就完工了。

熱點內容
ea編程入門 發布:2025-01-15 13:30:11 瀏覽:411
應繳費檔次配置異常怎麼回事 發布:2025-01-15 13:20:34 瀏覽:617
成都php招聘 發布:2025-01-15 13:12:16 瀏覽:380
怎麼調用伺服器資料庫 發布:2025-01-15 13:06:25 瀏覽:656
人人網設置訪問許可權 發布:2025-01-15 13:02:06 瀏覽:563
崩壞學園2腳本 發布:2025-01-15 12:58:43 瀏覽:459
我的世界伺服器等級如何升 發布:2025-01-15 12:45:55 瀏覽:689
c語言程序填空題 發布:2025-01-15 12:45:53 瀏覽:545
怎麼配置氯化鈉濃度 發布:2025-01-15 12:34:06 瀏覽:206
4000除以125簡便演算法 發布:2025-01-15 12:27:41 瀏覽:464