封裝定義
- 通過將數據聲明爲私有的(private),再提供公共的(public)方法 :getXxx()和setXxx()實現對該屬性的操作,以實現下述目的:
- 隱藏一個類中不需要對外提供的實現細節;
- 使用者只能通過事先定製好的方法來訪問數據,可以方便地加入控制邏輯,限制對屬性的不合理操作;
- 便於修改,增強代碼的可維護性;
package day06;
public class Person1
{
// public int Age;
//不能讓調用者隨意使用的屬性做封裝和隱藏
private int Age;//私有
public void setAge(int a)
{
if(a>=0&&a<150)
{
Age=a;
System.out.println("年齡是:"+Age);
}
else
{
System.out.println("輸入的年齡"+a+"不正確");
}
}
}
//測試
package day06;
//在同一個包下不用import了
public class Text1 {
public static void main(String[]args)
{
Person1 p=new Person1();
//p.Age=822;//這個邏輯不符合現實
//The field Person1.Age is not visible屬性已經被隱藏了
//p.outPutA();
p.setAge(50);
}
}
四種訪問權限修飾符
類成員
權限修飾符public、protected、private:置於類的成員定義前,用來限定對象對該類成員的訪問權限。
class
對於class的權限修飾只可以用public和default(缺省)。
- public類可以在任意地方被訪問。
- default類只可以被同一個包內部的類訪問。
一個Java文件中可以寫多個類(class)但只有一個可以用public,其他的爲缺省的