JAVA——private封裝
阿新 • • 發佈:2018-11-22
private關鍵字
類的設計原則:
- 編寫類時,類中的所有屬性必須使用private封裝。
- 屬性若要被外部訪問,必須定義setter、getter方法。
· private用來修飾屬性;
· 使用private修飾之後,內部操作對外部不可見;即私有屬性只能在它所在類被訪問,外部類不能直接訪問
· 物件不能直接操作屬性;
· 使用private修飾之後,訪問私有屬性可以私用以下兩種方法:
1,setter 方法:主要用於進行屬性內容的設定與修改 。
2,getter方法:主要用於屬性內容的獲取 。
- 如果想讓某個屬性不可修改,則不用寫setter方法;
setter 方法與 getter 方法的具體使用
class SetterAndGetter{
//封裝,設定私有屬性
private String name;
private int age;
//構造方法
public SetterAndGetter(){
}
//private 封裝屬性
//對name屬性進行設定修改的方法
public void setName(String n){
name = n;
}
//獲取name屬性的方法
public String getName(){
return name;
}
//對age屬性進行設定修改
public void setAge(int a){
if(age < 0 || age >= 150){
System.out.println("輸入錯誤!");
}
else{
age = a;
}
}
//獲取age屬性
public int getAge(){
return age;
}
//列印資訊方法
//私有屬性可以直接在它本類中使用
public void intriduce(){
System.out.println("姓名:"+name+",年齡:"+age);
}
}
//私有屬性在它之外的類中不能直接使用,(不能使用物件直接操作屬性)
//必須使用setter方法設定屬性值,使用getter方法獲取屬性的值
public class SetterAndGetterTest{
public static void main(String[] args){
SetterAndGetter sg = new SetterAndGetter();
sg.setName("kkk");//設定name值
sg.setAge(20);//設定age值
sg.intriduce();//獲取方法
}
}
運算結果如下:
對比無封裝屬性:
無封裝屬性的舉例如下:
class SetterAndGetter{
//設定為公共屬性,可以直接在外部類中使用
public String name;
public int age;
//構造方法
public SetterAndGetter(){
}
//方法
public void intriduce(){
System.out.println("姓名:"+name+",年齡:"+age);
}
}
//公共屬性可以直接在外部類中使用
public class SetterAndGetterTest{
public static void main(String[] args){
SetterAndGetter sg = new SetterAndGetter();
sg.name = "jack";
sg.age = 23;
sg.intriduce();
}
}
運算結果如下: