資訊隱藏(Information Hiding)
不能看到、接觸到物件內部不想公開的資訊存取控制字符(Access Modifier)來限制外部對類別成員變數或方法的存取。
可以使用的存取控制字符:
Private存取控制字符是指該成員變數是類別私有的,只有類別中的方法看得到,其他類別無法看到這個成員,也無法使用。
因為private int tire; 為私有的,所以主程式那邊無法使用。
如果要修改或取得那個private成員的值,要使用專門的方法:
get變數名稱 取得成員值的方法。
set變數名稱 設定成員值的方法。
package com.mycompany.testthree;
class Car{
private int tire;
private int seat;
void run(int tire,int seat){
this.tire=tire;
this.seat=seat;
}
public int getTire(){return tire;}
public void setTire(int tire){this.tire=tire;}
public int getSeat(){return seat;}
public void setSeat(int seat){this.seat=seat;}
}
public class testThree {
public static void main(String[] args) {
Car bus = new Car();
Car auto = new Car();
bus.setTire(6);
bus.setSeat(20);
auto.setTire(4);
auto.setSeat(4);
System.out.println("公車有"+bus.getTire()+"個輪胎、"+bus.getSeat()+"座位,");
System.out.print("汽車有"+auto.getTire()+"個輪胎、"+auto.getSeat()+"座位,");
}
}
This為保留字,當參數的名稱和成員變數相同,參數名稱會遮蔽掉成員變數,所以這時候使用this保留字,代表現在執行方法的物件。
設定完成後,就能從主程式呼叫get方法,印出private成員的值。
參考資料:
最新java程式語言第六版