国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

第3章 面向?qū)ο蠡A(chǔ)

2019-11-14 12:25:18
字體:
供稿:網(wǎng)友

3.1類與對(duì)象

1.什么是類和對(duì)象?二者的關(guān)系?1. 如何定義一個(gè)類?如何創(chuàng)建一個(gè)對(duì)象?1.  什么是對(duì)象,如何創(chuàng)建對(duì)像?

1)對(duì)象:對(duì)象是人們要進(jìn)行研究的任何事物,它不僅能表示具體的事物,還能表示抽象的規(guī)則、計(jì)劃或事件。對(duì)象具有狀態(tài),一個(gè)對(duì)象用數(shù)據(jù)值來描述它的狀態(tài)。對(duì)象還有操作,用于改變對(duì)象的狀態(tài),對(duì)象及其操作就是對(duì)象的行為。對(duì)象實(shí)現(xiàn)了數(shù)據(jù)和操作的結(jié)合,使數(shù)據(jù)和操作封裝于對(duì)象的統(tǒng)一體中。

2)類:具有相同特性(數(shù)據(jù)元素)和行為(功能)的對(duì)象的抽象就是類。因此,對(duì)象的抽象是類,類的具體化就是對(duì)象,也可以說類的實(shí)例是對(duì)象,類實(shí)際上就是一種數(shù)據(jù)類型。類具有屬性,它是對(duì)象的狀態(tài)的抽象,用數(shù)據(jù)結(jié)構(gòu)來描述類的屬性。類具有操作,它是對(duì)象的行為的抽象,用操作名和實(shí)現(xiàn)該操作的方法來描述。

 

對(duì)象和類的關(guān)系:

類與對(duì)象的關(guān)系就如模具和鑄件的關(guān)系,類的實(shí)力化的結(jié)果就是對(duì)象,而對(duì)對(duì)象的抽象就是類,類描述了一組有相同特性(屬性)和相同行為的對(duì)象。

 

2.創(chuàng)建對(duì)象時(shí),內(nèi)存中的變化?

1:先將硬盤上指定位置的Person.class文件加載進(jìn)內(nèi)存。

2:執(zhí)行main方法時(shí),在棧內(nèi)存中開辟了main方法的空間(壓棧-進(jìn)棧),然后在main方法的棧區(qū)分配了一個(gè)變量p。

3:在堆內(nèi)存中開辟一個(gè)實(shí)體空間,分配了一個(gè)內(nèi)存首地址值。new

4:在該實(shí)體空間中進(jìn)行屬性的空間分配,并進(jìn)行了默認(rèn)初始化。

5:對(duì)空間中的屬性進(jìn)行顯示初始化。

6:進(jìn)行實(shí)體的構(gòu)造代碼塊初始化。

7:調(diào)用該實(shí)體對(duì)應(yīng)的構(gòu)造函數(shù),進(jìn)行構(gòu)造函數(shù)初始化。()

8:將首地址賦值給p ,p變量就引用了該實(shí)體。(指向了該對(duì)象)

3.2 方法

1.如何定義方法?2.什么是方法的參數(shù)和返回值?

方法包含一個(gè)方法頭和一個(gè)方法體。下面是一個(gè)方法的所有部分:

 修飾符:修飾符,這是可選的,告訴編譯器如何調(diào)用該方法。定義了該方法的訪問類型。

 返回值類型:方法可能會(huì)返回值。returnValueType是方法返回值的數(shù)據(jù)類型。有些方法執(zhí)行所需的操作,但沒有返回值。在這種情況下,returnValueType是關(guān)鍵字void。

 方法名:是方法的實(shí)際名稱。方法名和參數(shù)表共同構(gòu)成方法簽名。

 參數(shù)類型:參數(shù)像是一個(gè)占位符。當(dāng)方法被調(diào)用時(shí),傳遞值給參數(shù)。這個(gè)值被稱為實(shí)參或變量。參數(shù)列表是指方法的參數(shù)類型、順序和參數(shù)的個(gè)數(shù)。參數(shù)是可選的,方法可以不包含任何參數(shù)。

 方法體:方法體包含具體的語句,定義該方法的功能。

20151023142602139.jpg (381×198)

如:

public static int age(int birthday){...}

參數(shù)可以有多個(gè):

static float interest(float PRincipal, intyear){...}

1.   什么是值傳遞?2.  什么是引用傳遞?

1.值傳遞:(形式參數(shù)類型是基本數(shù)據(jù)類型):方法調(diào)用時(shí),實(shí)際參數(shù)把它的值傳遞給對(duì)應(yīng)的形式參數(shù),形式參數(shù)只是用實(shí)際參數(shù)的值初始化自己的存儲(chǔ)單元內(nèi)容,是兩個(gè)不同的存儲(chǔ)單元,所以方法執(zhí)行中形式參數(shù)值的改變不影響實(shí)際參數(shù)的值。

2.引用傳遞:(形式參數(shù)類型是引用數(shù)據(jù)類型參數(shù)):也稱為傳地址。方法調(diào)用時(shí),實(shí)際參數(shù)是對(duì)象(或數(shù)組),這時(shí)實(shí)際參數(shù)與形式參數(shù)指向同一個(gè)地址,在方法執(zhí)行中,對(duì)形式參數(shù)的操作實(shí)際上就是對(duì)實(shí)際參數(shù)的操作,這個(gè)結(jié)果在方法結(jié)束后被保留了下來,所以方法執(zhí)行中形式參數(shù)的改變將會(huì)影響實(shí)際參數(shù)。

 

1.   什么是構(gòu)造方法?

構(gòu)造方法是一種特殊的方法,具有以下特點(diǎn)。

(1)構(gòu)造方法的方法名必須與類名相同。

(2)構(gòu)造方法沒有返回類型,也不能定義為void,在方法名前面不聲明方法類型。

(3)構(gòu)造方法的主要作用是完成對(duì)象的初始化工作,它能夠把定義對(duì)象時(shí)的參數(shù)傳給對(duì)象的域。

(4)一個(gè)類可以定義多個(gè)構(gòu)造方法,如果在定義類時(shí)沒有定義構(gòu)造方法,則編譯系統(tǒng)會(huì)自動(dòng)插入一個(gè)無參數(shù)的默認(rèn)構(gòu)造器,這個(gè)構(gòu)造器不執(zhí)行任何代碼。

(5)構(gòu)造方法可以重載,以參數(shù)的個(gè)數(shù),類型,順序。

2.   this關(guān)鍵字的含義及使用?

表示當(dāng)前對(duì)象

一、this關(guān)鍵字主要有三個(gè)應(yīng)用:

(1)this調(diào)用本類中的屬性,也就是類中的成員變量;

(2)this調(diào)用本類中的其他方法;

(3)this調(diào)用本類中的其他構(gòu)造方法,調(diào)用時(shí)要放在構(gòu)造方法的首行。

3.   如何使用構(gòu)造方法初始化對(duì)象?初始化的幾個(gè)過程?

4.   默認(rèn)構(gòu)造方法和自定義構(gòu)造方法的區(qū)別和聯(lián)系?

如果一個(gè)類,你沒有定義構(gòu)造函數(shù),那么系統(tǒng)默認(rèn)會(huì)有一個(gè)無參的構(gòu)造函數(shù)

但如果你定義了一個(gè)有參的構(gòu)造函數(shù),為了保證正確性,系統(tǒng)不會(huì)創(chuàng)建無參構(gòu)造函數(shù),這時(shí)候,如果你還想允許無參構(gòu)造,就必須顯式的聲明一個(gè)

1.   什么是方法重載?

方法重載是指在一個(gè)類中定義多個(gè)同名的方法,但要求每個(gè)方法具有不同的參數(shù)的類型或參數(shù)的個(gè)數(shù)。

2.方法重載的原則是什么?

一.方法名一定要相同。

二.方法的參數(shù)表必須不同,包括參數(shù)的類型或個(gè)數(shù),以此區(qū)分不同的方法體。

1.如果參數(shù)個(gè)數(shù)不同,就不管它的參數(shù)類型了!

2.如果參數(shù)個(gè)數(shù)相同,那么參數(shù)的類型必須不同。

三.方法的返回類型、修飾符可以相同,也可不同。

 

3.3封裝和訪問控制

1.什么是包?

java中,我們寫程序時(shí)用到相同的類名是有可能的,遇到這種情況的話,就會(huì)出現(xiàn)錯(cuò)誤。

為了避免上述錯(cuò)誤,Sun公司在開發(fā)Java時(shí)提出了包的的概念,就是package。包可以使具有相同類名的程序互不影響,從而保證了程序的正確性。

2.  使用package時(shí)需要注意什么?

3.怎樣導(dǎo)入包?

java中導(dǎo)入jar包:首先對(duì)著myeclipse空白處,右鍵->Build Path->Configure Build Path...

點(diǎn)擊Libraries->Add External JARs...,選擇一個(gè)外部的jar包,打開,OK。

jar包導(dǎo)入工程后,就可以通過代碼頂部,使用import導(dǎo)入包里的類,比如:import java.lang.System。

 

1.   什么是封裝?

封裝是把過程和數(shù)據(jù)包圍起來,對(duì)數(shù)據(jù)的訪問只能通過已定義的接口。

        1、良好的封裝能夠減少耦合。

        2、類內(nèi)部的結(jié)構(gòu)可以自由修改。

        3、可以對(duì)成員進(jìn)行更精確的控制。

        4、隱藏信息,實(shí)現(xiàn)細(xì)節(jié)。

2.   java有哪些訪問控制符?他們的訪問級(jí)別分別是什么?3.訪問控制符如何使用?

 

3.4靜態(tài)成員

1.什么是靜態(tài)成員?使用什么關(guān)鍵字修飾?

被static關(guān)鍵字修飾的變量叫靜態(tài)變量,也就是所謂的類變量。

不被static關(guān)鍵字修飾的變量叫成員變量

3.5對(duì)象數(shù)組

1.什么是對(duì)象數(shù)組?

對(duì)象數(shù)組就是數(shù)組里的每個(gè)元素都是類的對(duì)象,賦值時(shí)先定義對(duì)象,然后將對(duì)象直接賦給數(shù)組就行了。

3.  如何創(chuàng)建對(duì)象數(shù)組?怎樣實(shí)例化對(duì)象數(shù)組?

實(shí)例化類

需要對(duì)數(shù)組中每一個(gè)元素進(jìn)行實(shí)例化;

比如:

Person[] ps=new Person[10];ps[0]=new Person(name0,phone0,...)ps[1]=new Person(name1,phone1,...)ps[2]=new Person(name2,phone2,...).....


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 武宣县| 永康市| 朝阳区| 建宁县| 长寿区| 玉龙| 海兴县| 察雅县| 苏尼特左旗| 佛学| 安达市| 云浮市| 清新县| 类乌齐县| 连州市| 盐边县| 怀远县| 安岳县| 安化县| 汤原县| 陆川县| 陕西省| 界首市| 渝北区| 朝阳区| 新龙县| 武陟县| 建平县| 宁阳县| 浙江省| 镇平县| 吉隆县| 承德市| 葫芦岛市| 罗定市| 芜湖市| 永年县| 望都县| 耒阳市| 衡南县| 宝清县|