private:
1 是一個許可權修飾符
2 可以修飾成員變數和成員方法
被其修飾的成員只能在本類中被訪問
1 class Demo { 2 //int num = 10; 3 //用private修飾 4 private int num = 10; 5 6 public void show() { 7 System.out.println(num); 8 } 9 10 private void method() { 11 System.out.println("method"); 12 } 13 14 public void function() { 15 method(); 16 } 17 } 18 19 class PrivateDemo { 20 public static void main(String[] args) { 21 Demo d = new Demo(); 22 //不能方法私有的成員變數 23 //System.out.println(d.num); 24 d.show(); 25 //不能訪問私有的成員方法 26 //d.method(); 27 d.function(); 28 } 29 }
封裝和private的應用:
A:把成員變數用private修飾
B:提高對應的getXxx()和setXxx()方法
1 class Student { 2 //姓名 3 private String name; 4 //年齡 5 private int age; 6 7 //姓名獲取值 8 public String getName() { 9 return name; 10 } 11 12 //姓名設定值 13 public void setName(String n) { 14 name = n; 15 } 16 17 //年齡獲取值 18 public int getAge() { 19 return age; 20 } 21 22 //年齡賦值 23 public void setAge(int a) { 24 age = a; 25 } 26 } 27 28 //測試類 29 class StudentTest { 30 public static void main(String[] args) { 31 //建立學生物件 32 Student s = new Student(); 33 34 //使用成員變數 35 //錯誤:被私有修飾了,外界不能直接訪問了 36 //System.out.println(s.name+"---"+s.age); 37 System.out.println(s.getName()+"---"+s.getAge()); 38 39 //給成員變數賦值 40 //s.name = "林青霞"; 41 //s.age = 27; 42 //通過方法給賦值 43 s.setName("林青霞"); 44 s.setAge(27); 45 System.out.println(s.getName()+"---"+s.getAge()); 46 } 47 }