Java 面向對象 之 封裝方法

/**
    測試類的封裝特性
    類的封裝特性就是, 將類的屬性私有化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
*/
相關文章
相關標籤/搜索