一、封裝的步驟 (1)所有屬性私有化,使用private關鍵字進行修飾,private表示私有的,修飾的所有數據只能在本類中進行訪問。 (2)對外提供簡單的操作入口,也就是說以後外部程式要想訪問age屬性的話,必須通過這些簡單的入口才能進行訪問。 i.對外提供兩個公開的方法,分別是set方法和get ...
一、封裝的步驟
(1)所有屬性私有化,使用private關鍵字進行修飾,private表示私有的,修飾的所有數據只能在本類中進行訪問。
(2)對外提供簡單的操作入口,也就是說以後外部程式要想訪問age屬性的話,必須通過這些簡單的入口才能進行訪問。
i.對外提供兩個公開的方法,分別是set方法和get方法
ii.修改屬性的話,就使用set方法;訪問屬性的話,就使用get方法
二、set方法的命名規範
public void setAge(int a){ age = a; }
三、get的方法的命名規範
public void setAge(int a){ age = a; }
四、註意點
(1)setter and getter方法沒有static關鍵字
(2)有static關鍵字修飾的方法怎麼調用:類名.方法名(實參);
(3)沒有static關鍵字修飾的方法怎麼調用:引用.方法名(實參);
舉個例子,先寫一個類,然後再調用它
package com.bjpowernode.java_learning; public class User { //屬於私有化 private int age; //setter public void setAge(int a) { if (a<0 || a>150) { System.out.println("對不起您輸入的年齡不合法"); return; }else { age = a; } } //getter public int getAge() { return age; } }
我們再編寫函數來調用它
package com.bjpowernode.java_learning; public class D38_object_encapsulation { public static void main(String[] args) { //闖將user對象 User user = new User(); user.setAge(1000); int age1 = user.getAge(); System.out.println(age1); user.setAge(100); int age2 = user.getAge(); System.out.println(age2); } }
我們進行程式運行
快捷鍵:我們在編寫一個類的時候,將各個private屬性寫好了之後,在空白處點擊右鍵-源代碼-生成getter和setter即可,自動生成
五、構造方法
1.構造方法又被稱為構造函數、構造器、Constructor
2.構造方法語法結構:
[修飾符列表] 構造方法名(形式參數列表){
構造方法體;
}
3.回顧普通方法的語法結構:
[修飾符列表] 返回值類型 方法名(形式參數列表){
方法體;
}
4.對於構造方法來說,“返回值類型”是不需要指定的,並且也不能寫void,只要寫上void那麼這個方法就成為了普通方法
5.對於構造方法來說,構造方法的方法名必須和類型保持一致
6.構造方法的作用是什麼:
構造方法存在的意義在於,通過構造方法的調用,可以創建對象。
7.構造方法應該怎麼調用?
普通方法是這樣調用的的:方法修飾符中有static的時候:類名.方法名(實參);方法修飾符列表中沒有static的時候:引用,方法名(實參列表)
new 構造方法名(實參列表)
8.構造方法執行調用之後,有返回值嗎?
每一個構造方法執行結束之後都有返回值,但是這個“return 值;”這樣的語句不需要寫,構造方法結束的時候java程式自動返回值。並且返回值類型是構造方法所在類的類型。由於構造方法的返回值類型就是類本身,所以返回值類型不需要寫。(我們可想而知為什麼名稱上要保持一致)
六、源碼:
D38_object_encapsulation.java
User.java
地址:
https://github.com/ruigege66/Java/blob/master/D38_object_encapsulation.java
https://github.com/ruigege66/Java/blob/master/User.java
2.CSDN:https://blog.csdn.net/weixin_44630050(心悅君兮君不知-睿)
3.博客園:https://www.cnblogs.com/ruigege0000/
4.歡迎關註微信公眾號:傅里葉變換,個人公眾號,僅用於學習交流,後臺回覆”禮包“,獲取大數據學習資料