封裝概念:安全
將類的某些信息隱藏在類內部,不容許外部程序直接訪問,而是經過該類提供的方法來實現對隱藏信息的操做和訪問this
封裝解決什麼問題:設計
若是任何一個處理類均可以直接對對象的屬性進行賦值操做,那麼當值不許確的時候,可能會產生額外的結果3d
封裝的做用:對象
使用封裝能夠保證數據的規範,不符合規範的數據將沒法進行操做blog
封裝的好處:排序
1.隱藏類的內部實現細節get
2.只能經過提供的方法進行訪問,其餘方法沒法訪問程序設計
3.能夠根據需求添加複雜的邏輯判斷語句變量
4.方便修改實現
面向對象的封裝(俠義)能夠用一句話概述:
將類中的屬性設置爲私有屬性,提供公有的外部方法供程序進行調用,能夠實現豐富的細節操做(及爲了保證是數據安全和規範)
廣義的封裝:
能夠將完成特定功能的代碼塊封裝成一個方法,供不一樣的程序進行調用
程序設計要追求「高內聚低耦合」:
高內聚就是類的內部數據操做細節本身完成,不容許外部干涉
低耦合就是僅暴露少許的方法給外部使用
如何使用封裝:
例如:封裝年齡屬性
private int age;
public int getAge(){
return this.age;
}
public void setAge(int age){
if(age > 0){
this.age = age;
}else {
System.out.println("輸入年齡不合法");
}
}
訪問權限(如下分類按照從大到小進行排序):
public:公共的
當前項目中的全部的類均可以進行訪問
protected:受保護的
能夠被當前類訪問,能夠被當前包訪問,能夠被子類訪問
default:默認權限
能夠被當前類訪問,能夠被當前包訪問
private:私有的
只能被當前類進行訪問
注意:類的訪問權限只有兩種
public:可被同一項目中全部的類訪問
default:可被同一包中的類訪問
方法參數的值是否改變
方法中的參數列表叫作形式參數,沒有具體的值,只是爲了方便在方法體中使用
調用方法的時候實際傳入的值叫作實際參數,表明具體的數值,用來替換在方法體中代碼邏輯的值進行運算
注意:
1.形式參數的變量名稱也是局部變量
2.當方法的參數值是基本數據類型的時候,不會改變原來的值
3.當方法的參數值是引用類型的時候,若是改變了該引用類型的值,會改變原來對象的值
不會改變原有值: 會改變原有值: