Java中面向對象三大特性之——封裝


概述

面向對象編程語言是對客觀世界的模擬,客觀世界里成員變量都是隱藏在對象內部的,外界無法直接操作和修改。 封裝可以被認為是一個保護屏障,防止該類的代碼和數據被其他類隨意訪問。要訪問該類的數據,必須通過指定的 方式。適當的封裝可以讓代碼更容易理解與維護,也加強了代碼的安全性。

封裝的原則

將屬性隱藏起來,若需要訪問某個屬性,提供公共方法對其訪問。

 

封裝的步驟

 

1、使用 private 關鍵字來修飾成員變量。

 

2、對需要訪問的成員變量,提供公共的訪問方式,也就是定義對應的 getXxx 方法 、 setXxx 方法。

 

封裝的操作——private關鍵字

 

private的含義

 

 1、 private是一個權限修飾符,代表最小權限。

 

 2、可以修飾成員變量和成員方法,來達到隱藏屬性的目的

 3、被private修飾后的成員變量和成員方法,只在本類中才能訪問

 

private的使用格式

 

 

private 數據類型 變量名;

 

為什么使用private修飾?

因為不要把屬性暴露給別人

 

this關鍵字

this的含義

this代表所在類的當前對象的引用(地址值),即對象自己的引用。

記住 方法被哪個對象調用,方法中的this就代表那個對象。即誰在調用,this就代表誰。

 

 

構造方法

當一個對象被創建時候,構造方法用來初始化該對象,給對象的成員變量賦初始值。

作用: 初始化該對象,給對象的成員變量賦初始

構造方法的定義格式

 

 

 

 封裝的具體例子

 

public class Person {
    //定義成員變量
    private String name;//姓名
    private int age;//年齡
    private char gendar;//性別

    //定義成員方法

    //有參構造方法
    public Person() {

    }
    //無參構造方法
    public Person(String name, int age, char gendar) {
        this.name = name;
        this.age = age;
        this.gendar = gendar;
    }
    //get和set方法
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public char getGendar() {
        return gendar;
    }

    public void setGendar(char gendar) {
        this.gendar = gendar;
    }

    /**
     * study方法
     *
     */
    public void study(){
        System.out.println("好好學學習,天天向上");
    }

    /**
     * sleep();睡覺
     */
    public void sleep(){
        System.out.println("學習一天了,可以睡覺了");
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM