Java中用Private變量封裝方法和變量時的問題

先看看private的訪問級別,只能在本類中訪問private修飾的方法和變量

例如:

public class Person {
 private String name;
 private int age;
}

這段代碼中,將 nameage 屬性設置爲私有的,只能本類才能訪問,其他類都訪問不了,如此就對信息進行了隱藏。

注意:對每個屬性提供對外的公共方法訪問,也就是創建一對賦取值方法,用於對私有屬性的訪問,例如: 

public class Person {
/*
* 對屬性的封裝 一個人的姓名、性別和年齡都是這個人的私有屬性
*/
private String name;
private String sex;
private int age; 
                                   
public void setName(String name) {             //要改變Person類的內部屬性name只能在外部類中 
                                                 調用方法       
this.name = name;
}

}


public class TestPersonDemo {
	public static void main(String[] args) {
		Person p=new Person();
        p.setName("張三");
}
}
 

被private修飾的變量和方法,只能在自己對象內部使用,其他對象即使是new你這個對象也是獲取不到被private修飾的變量以及方法的。

例如:(下面爲錯誤示例)

public class TestPersonDemo {
	public static void main(String[] args) {

		// 聲明並實例化一Person對象p
		Person p=new Person();
		// 給p中的屬性賦值
		p.age="張三";p.age=18;            //這裏就是錯誤的,不能通過外部類實例化一個變量來改變                    
                                            Person類的內部屬性name,age
		p.talk();
	}
}


class Person {
	private String name;
	private int age;
	
	public void talk()
	{
		System.out.println("我是:"+this.name+",今年:"+this.age+"歲");
	}
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章