|NO.Z.00037|——————————|BigDataEnd|——|Java&方法封裝.V19|---------------------------------------------|Java.v19|封裝實現.v02|
阿新 • • 發佈:2022-04-03
[BigDataJava:Java&方法封裝.V19] [BigDataJava.面向物件] [|章節二|方法和封裝|封裝的實現|]
一、封裝的實現
二、程式設計程式碼### --- 封裝的實現流程 ~~~ ——> 私有化成員變數,使用private關鍵字修飾。 ~~~ ——> 提供公有的get和set方法,並在方法體中進行合理值的判斷。 ~~~ ——> 在構造方法中呼叫set方法進行合理值的判斷。
### --- 程式設計程式碼:封裝類
/*
程式設計實現Student類的封裝 封裝類
*/
三、程式設計程式碼:測試類public class Student { // 1.私有化成員變數,使用private關鍵字修飾 // private關鍵字修飾表示私有的含義,也就是該成員變數只能在當前類的內部使用 private int id; // 用於描述學號的成員變數 private String name; // 用於描述姓名的成員變數 // 3.在公有的構造方法中呼叫set方法進行合理值的判斷 public Student() {} public Student(int id, String name) { //this.id = id; //this.name = name; setId(id); setName(name); } // 2.提供公有的get和set方法,並在方法體中進行合理值的判斷 // 使用public關鍵字修飾表示公有的含義,也就是該方法可以在任意位置使用 public int getId() { return id; } public void setId(int id) { if(id > 0) { this.id = id; } else { System.out.println("學號不合理哦!!!"); } } public String getName() { return name; } public void setName(String name) { this.name = name; } // 自定義成員方法實現特徵的列印 // 什麼修飾符都沒有叫做預設的訪問許可權,級別介於private和public之間 public void show() { //System.out.println("我是" + name + ",我的學號是" + id); System.out.println("我是" + getName() + ",我的學號是" + getId()); } }
### --- 程式設計程式碼:測試類
/*
程式設計實現Student類的測試
*/
四、編譯列印public class StudentTest { public static void main(String[] args) { // 1.宣告Student型別的引用指向Student型別的物件 Student s1 = new Student(); // 2.對成員變數進行賦值並列印 //s1.id = -1001; //s1.name = "張飛"; s1.setId(-1001); s1.setName("張飛"); s1.show(); // 1001 張飛 System.out.println("----------------------------------------------------"); // 3.使用有參方式構造物件並列印特徵 Student s2 = new Student(-1001, "張飛"); s2.show(); } }
C:\Users\Administrator\Desktop\project>javac StudentTest.java
C:\Users\Administrator\Desktop\project>java StudentTest
學號不合理哦!!!
我是張飛,我的學號是0
----------------------------------------------------
學號不合理哦!!!
我是張飛,我的學號是0
===============================END===============================
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart ——W.S.Landor
來自為知筆記(Wiz)