#1. 概念:封裝是將類別的某些資訊隱藏在類別的內部,不允許外部程式直接訪問,而是透過該類別提供的方法來實現對隱藏資訊的操作和存取
優點:a.只能透過規定的方法存取數b.隱藏類別的實例細節,方便修改與實作
2. 實作步驟:
1)修改屬性可見性(設為private)
# 2)建立getter/setter方法(用於屬性讀寫)
3)在方法中加入屬性控制語句(對屬性值得合法進行判斷)
例:設定學生類別:兩個屬性 1)name 2)age
在Student類別中,加入針對age年齡判斷,如果年齡小於0或大於150,提示:不合理資料
加入判斷,無法解決的存在不合理資料; 利用關鍵字private
:私有--->無法存取(
) 3. 套件
1)套件的作用:管理JAVA文件,解決同名文件衝突
定義包:package 包名
注:必須放在JAVA源程序第一行包名間可以用. 隔開,如:com.westos.Class
2)系統中的套件:java.(功能).(類別)
java.lang.(類別)包含java語言基礎類別
java.util.(類別)包含java語言中各種工具類別
java.io.(類別)包含輸入輸出相關功能類別
3)套件的使用:透過import關鍵字,在某個文件使用其他文件中的類別
如:我們之間在鍵盤輸入中導入的包
註:java中,套件的命名規格全為小寫字母
使用時可以載入某套件下的所有檔案(import java.util.*)或牟特具體子套件(
import java.util.Scanner)4. 存取修飾符:用來修飾屬性和方法的存取範圍
##ps:通常我們把方法用public修飾屬性用private修飾5.this關鍵字1)this關鍵字代表目前引用物件
this.屬性: 操作目前物件的屬性 this.方法: 呼叫目前物件的方法 2)封裝物件的屬性的時候,常常會使用this關鍵字 #ps:產生get 、set方法
# Source--->Generate Getters and Setters
package example; public class Phone { private String brand; private int price; private String color; public void sendMessage() { System.out.println("you can message to Andrew"); } public String getBrand() { return brand; } public void setBrand(String brand) { this.brand = brand; this.sendMessage(); } public int getPrice() { return price; } public void setPrice(int price) { this.price = price; } public String getColor() { return color; } public void setColor(String color) { this.color = color; } public void show(String name) { System.out.println(name+" use the iphone to call Andrew"); } }###2. 學生類別######
package example; public class Student { //定义两个变量 String name ; String gender; private int age ; //提供方法:输出变量 public void show() { System.out.println(name+" "+age+" "+gender); } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } //针对age进行判断 public void setAge(int a) { if(a<0||a>150) { System.out.println("该数据不符合实际"); }else { age = a; } } }###3. 呼叫###
package example; public class Ex2 { public static void main(String[] args) { Student x = new Student(); Phone i = new Phone(); x.setAge(24); x.setName("Silvia"); x.setGender("Lady"); x.show(); i.setBrand("Apple"); i.setColor("玫瑰金"); i.setPrice(6999); i.show(x.name); } }###結果:######################END##########相關文章:###
以上是JAVA入門系統教學(六)物件導向(封裝)的詳細內容。更多資訊請關注PHP中文網其他相關文章!