先看看private的訪問級別,只能在本類中訪問private修飾的方法和變量
例如:
public class Person {
private String name;
private int age;
}
這段代碼中,將 name
和 age
屬性設置爲私有的,只能本類才能訪問,其他類都訪問不了,如此就對信息進行了隱藏。
注意:對每個屬性提供對外的公共方法訪問,也就是創建一對賦取值方法,用於對私有屬性的訪問,例如:
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+"歲");
}
}