1. 程式人生 > >JAVA——private封裝

JAVA——private封裝

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();
	}
}

運算結果如下:
在這裡插入圖片描述