java類與物件(物件導向)

2021-06-16 19:03:27 字數 2771 閱讀 7549

一》類與物件的關係

類:就是對現實生活中事物的描述。

物件:就是這類事物,實實在在存在的實體(個體)。

二》成員變數和區域性變數

1.區別:

a.作用域不同:

成員變數:作用於整個類中:

區域性變數:作用於函式中,語句中;

b.在記憶體中的位置不同:

成員變數:在堆記憶體中,因為物件的存在,才在記憶體中存在。

區域性變數:存在於棧記憶體中。

三》封裝

1.封裝的好處:

a.將變化隔離

b.便於使用

c.提高重用性

d.提高安全性

2.封裝原則:

a.將不需要對外提供的內容都隱藏起來。

b.把屬性都隱藏,提供公共方法對其訪問。

3.如何隱藏(private):

private:私有,許可權修飾符,用於修飾類中的成員(成員變數,成員函式)。

注意:私有僅僅是封裝的一種表現形式;

將需要隱藏的成員私有化,提供set(),get()方法對其操作(屬性)。

將需要隱藏的方法私有化,提供另乙個對外方法,對其呼叫。

四》this關鍵字在建構函式間的呼叫:

this語句:用於建構函式之間互相呼叫(只限於建構函式);

this語句只能定義在建構函式的第一行。因為初始化要先執行。

五》static關鍵字:

1.static:靜態;

用法:是乙個修飾符,用於修飾成員(成員變數,成員方法);

當成員被靜態修飾後,就多了個呼叫方式,除了可以被物件呼叫外,還可以直接被類名調 用。

2.被修飾後的成員具備以下特點:

a.隨著累的載入而載入

b.優先於物件存在

c.被所有物件所共享

d.可以直接被類名呼叫

3.使用注意事項:

a.靜態方法只能訪問靜態成員

b.靜態方法中不可以寫this,super關鍵字,因為優先於物件存在。

3.例項變數和類變數的區別:

a.存在位置:

類變數隨著類的載入而存在於方法區中,

例項變數隨著物件的建立而存在於堆記憶體中。

b.生命週期:

類變數生命週期最長,隨著類的消失而消失,

例項變數生命週期隨著物件的消失而消失。

七》main函式:

1.主函式:是乙個特殊的函式,作為程式的入口,可以被jvm

呼叫。

2.主函式的定義:

public:代表著該函式訪問許可權是最大的。

static:代表主函式隨著類的載入就已經存在了。

void:主函式沒有具體的返回值。

main:不是關鍵字,是乙個特殊的單詞,可以被

jvm識別。

(string

【】 args

):函式的引數,引數型別是乙個陣列,該陣列中的元素是字串。

3.主函式是固定格式的:jvm

識別。

唯一能改變的就是引數名args

;一般不變;

八》靜態什麼時候使用:

1.什麼時候使用靜態?

要從兩方面下手:

a.因為靜態修飾符的內容有成員變數和函式;

什麼時候定義靜態變數(類變數)那?

當物件中出現共享資料時,該資料被靜態所修飾。

物件中的特有資料要定義成非靜態,存在於堆記憶體中。

什麼時候定義靜態函式那?

當功能內部沒有訪問到非靜態資料(物件的特有資料),

那麼該功能可以定義成靜態的。

九》靜態**塊

1.靜態**塊格式:

static

執行語句;

2.特點:

隨著類的載入而執行,只執行一次,並優先於主函式執行。

3.用於給類進行初始化的。

4.構造**塊

staticcode()

system.out.println("b");

static

system.out.println("a");

結果為:a  c   b

執行順序:建構函式<

構造**塊

<

靜態**塊;

十》物件的初始化過程:

class person

public void setname(string name)

public void speak()

public static void showcountry()

}class persondemo }

person p = new person("

張三",20); 該句話都做了什麼事情?

1.因為new

用到了person.class

檔案,所以會先找到

person.class

檔案並載入到記憶體中。

2.執行該類中的static

**塊,如果有的話,給person.class

類進行初始化。

3.在堆記憶體中開闢空間,分配記憶體位址。

4.在堆記憶體中建立物件的特有屬性,並進行預設初始化。

5.對屬性進行顯式初始化。

6.對物件進行構造**塊初始化。

7.對物件進行對應的建構函式初始化。

8.將記憶體位址賦給記憶體中的p

變數。

Java物件導向 類,物件

oop,object oriented programming,物件導向程式設計 面向過程 以功能行為為主體的思想體現。物件導向 以執行功能的物件為主體的思想體現。物件導向特徵 封裝 隱藏內部實現,穩定外部介面。繼承 子類繼承父類成員,實現 復用。多型 不同子類對同一訊息作出不同的反映。具有相同屬性...

JAVA 物件導向 類和物件)

基本概念 物件導向是一種新興的程式設計方法,或者是一種新的程式設計規範 paradigm 其基本思想是使用物件 類 繼承 封裝 訊息等基本概念來進行程式設計。例題 1個班有 個小組,每個小組有 學生 要求 1 輸入班級名,能查詢到其下的所有小組名及每個小組的學生資訊,展示如下 你查詢的班級名為 第一...

物件導向 類與物件

物件導向是相對於面向過程而言的,具體的來說,比如 我們想要吃一頓午飯,我們親自買菜,洗菜.切菜,炒菜,煮飯,這樣做成一桌菜就叫面向過程,也就是說整個過程 你都親自完成,而 物件導向呢?點外賣 點一桌子菜和公尺飯 不管他咋做出來的 面向過程程式設計 就是 我們想要實現乙個功能 直接去呼叫別人寫好的功能...