Java面向對象介紹

Java面向對象介紹

1. 面向對象思想的介紹

1.1 前提

在瞭解面向對象之前,我們需要先了解一下面向過程過程編程,在實現一個具體的功能時,我們需要先了解這個功能要做什麼,然後動手編寫代碼一步一步的把功能實現。這就是面向過程的思想。

1.2 概述

在面向過程編程的基礎上,我們進行優化,封裝時根據不同的功能,把具有相似功能的代碼進行封裝,在需要用到時,直接調用這些封裝好的代碼。

面向對象的思想強調的是讓對象做事情。

1.3 面向對象思想的特點

l 是一種更符合人們的思考習慣的思想。

l 可以將複雜的事情簡單化。

l 程序開發人員從執行的角色轉換成了指揮的角色。

l Java編程面向對象編程思想的三大特徵,封裝、繼承和多態。

1.4 面向過程思想和麵向對象思想的舉例

以做一頓飯舉例。

l 面向過程時,需要自己找食譜、買菜、洗菜、炒菜等。

l 面向對象時,找了個女朋友,女朋友就把飯做好了。

2. 類與對象的關係

l 先有類再有對象,進而使用對象調用方法。

l 只有類沒有對象時,沒有意義。

3. 類的介紹

3.1 類的組成

l 類的屬性:也被稱為成員變量,為了保護成員變量數據的安全,成員變量的屬性一般是私有的。

l 類的方法:也被稱為成員方法。一般會包括對成員變量操作的get和set方法,包括無參和全參的構造方法。

3.2 代碼示例

public class Cat {

//成員變量

private String name;

private Integer age;

//成員方法

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public Integer getAge() {

return age;

}

public void setAge(Integer age) {

this.age = age;

}

//構造方法

//全參構造方法

public Cat(String name, Integer age) {

this.name = name;

this.age = age;

}

//無參構造方法

public Cat() {

}

}

4. Java面向對象的三大特徵之封裝

4.1 概述

使用{}將代碼封裝起來,起個名字,以後再使用這個代碼 只調用名字。

4.2 封裝中方法的關鍵字

l Public:公開成員變量或者成員方法。

l Private:將成員變量設置成私有,不讓外部直接訪問,但是可以通過公有的get或者set方法間接訪問。那麼問題來了,在使用get或者set方法訪問成員變量時,如何解決數據的安全性問題呢?可以在get或者set方法中添加對數據安全性的校驗。

4.3 封裝的意義

l 隱藏了類的具體實現。

l 在實現具體的業務需求時,操作更加簡單。

l 使用private修飾成員變量,提高了對象中數據的安全性。

5. This關鍵字

5.1 this關鍵字的概念

this關鍵字代表的是對本類對象的引用,指向的是本類已經創建的對象。

5.2 this關鍵字存在的意義

this關鍵字是為了解決局部變量與成員變量名字衝突的一個標記。

5.3 代碼示例

//全參構造方法

public Cat(String name, Integer age) {

this.name = name;

this.age = age;

}

6. 類中的構造方法

6.1 構造方法存在的意義

在用類創建對象的時候,給成員變量賦值。

6.2 構造方法的分類

l 無參構造方法:

在類中沒有寫全參構造方法的時候,java在生成class文件時,會自動生成一個無參構造方法;

在類中寫了全參的構造方法時,寫程序的人員必須手動生成一個無參的構造方法,在使用無參構造方法創建對象時,對象中的成員變量是沒有數據的,需要調用類的set方法為成員變量賦值。

l 全參構造方法:

使用全參構造方法創建對象的時候,對象中的成員變量是有數據的。

6.3 代碼示例

類的代碼見以上cat類的代碼。

測試類的代碼如下:

public class ClassDemo01 {

public static void main(String[] args) {

//1.使用無參構造方法創建對象

Cat cat1 = new Cat();

cat1.setName("tom");

cat1.setAge(18);

//2.使用全參構造方法創建對象

Cat cat2 = new Cat("danny",19);

}

}

7. 成員變量與局部變量

成員變量與局部變量的區別

Java面向對象介紹


分享到:


相關文章: