Java類的設計和封裝及類成員的訪問控制

安全劍客發表於2021-01-09
導讀 本文主要介紹了類的設計、類成員的訪問控制、類的封裝。類的作用是用來描述一群具有相同的特徵和行為的事物。

Java類的設計和封裝及類成員的訪問控制Java類的設計和封裝及類成員的訪問控制

一、類的設計

1.物件是透過類建立出來的,類的作用是用來描述一群具有相同的特徵和行為的事物。

2.設計類三要素

類的名字:你要描述的這類事物叫什麼名字;

這類事物具有的相同的特徵:這類事物擁有什麼;

這類事物具有的共同的行為:這類事物會做什麼;

3.定義類的語法

[修飾符] class 類名{ 
    0或多個構造方法 //類建立物件的根本途徑 
    0或多個變數      //類的屬性 
    0或多個方法      //類的行為 
}

4.修飾符:對於類和類定義中的成員(如構造方法、變數、方法等),都可以在定義的時候在前面加上不同的修飾符。

5.類的修飾符分成三種訪問修飾符、類屬性修飾符、抽象具體修飾符。

訪問修飾符:public、protected、private、default。沒有寫的話系統預設是default。

類屬性修飾符:static。

抽象具體修飾符:abstract、final。

6.如何設計一個學生類

class Student{ 
String name;//學生的姓名 
int age;//學生的年齡 
//myself()方法---自我介紹 
public void myself(){ 
System.out.println("你好,我叫"+name+","+"今年"+age+"歲!"); 
  } 
} 
public class p14 { 
public static void main(String[] args) { 
// TODO Auto-generated method stub 
Student s=new Student();//建立學生物件 
s.name="張三";//物件name屬性賦值 
s.age=18;//物件age屬性賦值 
s.myself();//呼叫物件的方法 
  } 
}

執行的結果是:

你好,我叫張三,今年18歲!
首先是設計一個學生類,在這個類中定義兩個成員變數分別是學生的姓名(name)和年齡(age),定義一個方法myself()表示學生自我介紹。

二、類成員的訪問控制

1.類成員的訪問控制許可權,分別是public、private、protected、default.

public:修飾的類或成員擁有公共作用域,表明這類或類的成員可以被任何Java中的類所訪問。

private:修飾的變數或方法擁有私有作用域,只可以在此類中訪問,在其他類中,包括該類的子類中也是不可以訪問的。

protected:修飾的變數或方法擁有受保護作用域,可以被同一個包中所有的類及其他包中該類的子類所訪問。

default:沒有使用任何修飾符的,擁有預設訪問許可權,表明此類或類的成員可以被同一個包中的其它類訪問。

Java類的設計和封裝及類成員的訪問控制Java類的設計和封裝及類成員的訪問控制

final:表示最終的類或最終成員。修飾類表示此類不可以有子類,修飾變數時表示此變數是一個常量,修飾方法表示方法不能被覆蓋。

abstract:表示抽象類或抽象方法。修飾類表示該類不可以定義物件,修飾方法表示該方法要被覆蓋。

static:表示類成員或靜態成員,代表該成員屬於該類,並不屬於該類的某一具體物件。

三、類的封裝

1.什麼是封裝

封裝是將類的某些資訊隱藏在類內部,不讓外部程式去訪問,需要透過這個類提供的方法來實現對隱藏資訊的操作和訪問。

2.如何實現類的封裝:

class Person{ 
    public String name;//名字 
    private int age;//age屬性私有化 
   //設定age值方法 
    public void setAge(int age){ 
            if(age >=0 && age <= 120){ 
                    this.age = age; 
            }else{ 
                    System.out.println("年齡不合法...."); 
            } 
    } 
    //獲取age值方法 
    public int getAge(){ 
            return age; 
    } 
    //say()方法--自我介紹 
    public void say(){ 
            System.out.println("你好!我是" + name + ",今年" + getAge() + "歲。"); 
    } 
} 
public class p15 { 
public static void main(String[] args) { 
// TODO Auto-generated method stub 
Person p1 = new Person();//建立物件 
    p1.name = "張三";//物件name屬性賦值 
    p1.setAge(130);//設定age的值 
    p1.say();//呼叫物件的方法 
  } 
}

執行的結果是:

年齡不合法....
你好!我是張三,今年0歲。
首先是定義個人類,將類的age屬性私有化,私有屬性只能在它所在的類中訪問。如果想讓外界訪問私有屬性,使用public修飾的公有方法,setAge()設定年齡喝getAge()獲取年齡的方法。建立Person屬性後,然後呼叫setAge()方法傳入一個130的值,在setAge()方法對age的值進行判斷如果傳入值大於120,就會輸出年齡不合法....

四、總結

本文主要介紹了類的設計、類成員的訪問控制、類的封裝。類的作用是用來描述一群具有相同的特徵和行為的事物。

透過類的語法如何定義一個類的案例理解是怎麼去定義的。類成員的訪問控制介紹了public、private、protected、default這些的用法。

類封裝就是類的某些資訊隱藏在類內部,不讓外部程式去訪問,需要透過這個類提供的方法來實現對隱藏資訊的操作和訪問。如何實現類的封裝案例來理解這個用法。希望大家透過本文的學習,對你有所幫助!

原文來自:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2748690/,如需轉載,請註明出處,否則將追究法律責任。

相關文章