說給人家聽,我們就說的通俗簡單點: 代碼封裝的好處:第一點在于安全,JAVA中類的一個屬性,我們一般會在類中將其私有化然后getter和setter方法對外提供得到和設置的方法,這就好比自動存提款機,錢就是我們要的屬性,要的數(shù)據(jù),放在那直接去拿可以嗎?很明顯不行,所以自動存提款機提供了取錢的方法和存錢方法,而你不用知道錢從哪來要到哪里去。第二點在于方便:方法也是封裝的一種體現(xiàn),有一個功能我們要反復調(diào)用,每次寫同樣的代碼嗎?答案很明顯,不要!,我們寫個方法,把這段功能代碼封裝成一個方法,需要的時候調(diào)用方法名就可以了,不是嗎? 關于package:如果一個項目很大的話,會分成很多小組,每個小組會有很多開發(fā)人員,大家在編寫代碼時說不定會出現(xiàn)同樣的類名,問題就來了,我在調(diào)類的時候,調(diào)的是哪個?所以每個小組用不同的包名,這樣來區(qū)分類所在的位置。好,如果你說項目編碼之前詳細設計說的很清楚了,類不可能出現(xiàn)同名,那么包的另外一個好處在于相似用途的類放在一個包下可以方便管理和查找,比如java.util包,如查沒有包的存在,我想查API看有哪些集合框架,你說方便不 權限修飾符的作用就是:你很有錢,你愿意告訴誰你很有錢需要的時候可以來找你,你的親屬?你的兒子?還是全世界的所有人?你自己有必要告訴誰 那么他們?nèi)卞X的時候就會想到你
創(chuàng)新互聯(lián)公司專注于響水企業(yè)網(wǎng)站建設,響應式網(wǎng)站開發(fā),商城建設。響水網(wǎng)站建設公司,為響水等地區(qū)提供建站服務。全流程定制設計,專業(yè)設計,全程項目跟蹤,創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務
代碼如下:
public class Accumlation {
public static void main(String[] args) {
int sum=0;
for(int i=1;i=200;i++){
sum+=i;
}
System.out.println(sum);
}
}
什么是封裝?
在定義類的時候,如果可以直接修改類中的字段那么就可能會出現(xiàn)以下的情況,age可以設置成1000,score可以設置為10000
所以就引出了封裝的概念,那么什么是封裝呢或者說封裝可以實現(xiàn)那些目的
封裝可以隱藏實現(xiàn)的細節(jié)
讓使用者只能通過實現(xiàn)寫好的訪問方法來訪問這些字段,這樣一來我們只需要在這些方法中增加邏輯控制,限制對數(shù)據(jù)的不合理訪問、
方便數(shù)據(jù)檢查,有利于于保護對象信息的完整性
便于修改,提高代碼的可維護性
為了實現(xiàn)良好的封裝,需要從兩個方面考慮
把字段(成員變量)和實現(xiàn)細節(jié)隱藏起來,不允許外部直接訪問
把方法暴露出來,讓方法控制這些成員變量進行安全的訪問和操作
因此,封裝就有兩個含義:把該隱藏的隱藏起來,把該暴露的暴露出來。
public class Man {
//這里是對屬性的封裝,一個人的姓名,年齡,妻子都是這個對象(人)的私有屬性
private String name;
private int age;
private Woman wife;
//這里是對改人對外界提供方法的封裝,可以設置改男人的妻子,姓名,年齡也可以獲取改男人的姓名和年齡
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;
}
}
/**
* 仔細看就會發(fā)現(xiàn),Man類沒有提供getWife的方法,這是以為男人不想讓自己的妻子被外界訪問,
*
* 直接下來呢,就是封裝可以吧一個對象的屬性私有,而提供一些可以被外界訪問的屬性的方法,
*
* 比如說,name屬性,Man和Woman類都有相應的get和set方法,外界都可以通過這些方法訪問和修改
*
* 同時對一些改對象不想讓外界訪問的屬性,就不提供其方法,比如說Man的wife屬性,就沒有get方法
*
* 外界是不能帶到Man類的wife屬性的
*
* 呵呵
* 奇怪的是Woman類有husband的get方法,這就是封裝的一點,還有的其他朋友也說到了
*/
本文標題:java封裝代碼 java封裝的例子
網(wǎng)站網(wǎng)址:http://sd-ha.com/article40/doijheo.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供自適應網(wǎng)站、定制開發(fā)、網(wǎng)站改版、品牌網(wǎng)站建設、手機網(wǎng)站建設、關鍵詞優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)