/** 測試類的封裝特性 類的封裝特性就是, 將類的屬性私有化private 而後提供公有的方法去訪問 */ public class Encapsulation { public static void main(String[] args) { //實例化Person 類 //1. 引用對象不能訪問類的私有屬性 //2. 若是要訪問私有屬性, 通常類中要另外提供訪問私有屬性的公有方法 Person p = new Person(); //p.name="李明"; //p.age=22; p.setName("李明"); p.setAge(22); p.say(); System.out.println(p); System.out.println(p.getName() + " " + p.getAge()); } } class Person { //實現類屬性的封裝 前面加 private 關鍵字 private String name; private int age; //定義訪問私有屬性的公有方法 //括號中 String name 是 方法setName 的傳入參數 public void setName(String name) { //this 表明當前對象的引用, 哪一個對象引用該類,就是指的哪一個引用 System.out.println(this); this.name = name; } //String 是方法getName 的返回值的類型 輸出返回值 public String getName() { return this.name; } public void setAge(int age) { this.age = age; } public int getAge() { return this.age; } public void say() { System.out.println("個人名字叫:" + name + ",今年 " + age + " 歲"); } } /* 回顧總結 1. 在類當中定義的變量叫成員變量, 屬性就是成員變量, 能夠在整個類當中訪問 2. 在方法中定義的變量叫局部變量, 只能在定義的方法當中訪問 注意: 當局部變量和成員變量同名的時候, 局部變量回覆蓋掉成員變量,因此當兩個變量同名時 要區分紅員變量必須加上 this */