學(xué)生第3章JSP中的Java程序ppt課件_第1頁(yè)
學(xué)生第3章JSP中的Java程序ppt課件_第2頁(yè)
學(xué)生第3章JSP中的Java程序ppt課件_第3頁(yè)
學(xué)生第3章JSP中的Java程序ppt課件_第4頁(yè)
學(xué)生第3章JSP中的Java程序ppt課件_第5頁(yè)
已閱讀5頁(yè),還剩73頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Chapter 3 JSPChapter 3 JSP中的中的JavaJava程序程序JavaJava數(shù)據(jù)類型數(shù)據(jù)類型運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式JavaJava控制語(yǔ)句控制語(yǔ)句JavaJava面向?qū)ο缶幊袒A(chǔ)面向?qū)ο缶幊袒A(chǔ)引言引言 一個(gè)簡(jiǎn)單的一個(gè)簡(jiǎn)單的JavaJava程序程序 因因java文件源代碼是文本文件,則用戶可用任何文本編輯器來編輯,如文件源代碼是文本文件,則用戶可用任何文本編輯器來編輯,如Editplus等,推薦等,推薦Eclipse或或Jbuilder,可直接測(cè)試程序??芍苯訙y(cè)試程序。JDk也可運(yùn)行程序。也可運(yùn)行程序。引言引言 一個(gè)簡(jiǎn)單的一個(gè)簡(jiǎn)單的JavaJava程序程序 Jav

2、aJava是一種面向?qū)ο笳Z(yǔ)言,類是面向?qū)ο笳Z(yǔ)言的基本構(gòu)件。關(guān)鍵字是一種面向?qū)ο笳Z(yǔ)言,類是面向?qū)ο笳Z(yǔ)言的基本構(gòu)件。關(guān)鍵字classclass用來定義類,用來定義類,publicpublic是權(quán)限修飾符,是權(quán)限修飾符,MyhelloMyhello是創(chuàng)建的類名是創(chuàng)建的類名.類體。類體。Main()Main()是是JavaJava應(yīng)用程序的入口,應(yīng)用程序的入口,main()main()方法聲明開頭的修飾符必須被指方法聲明開頭的修飾符必須被指定為定為public(public(公共公共) )、static(static(靜態(tài)靜態(tài)) )、void(void(不返回任何值不返回任何值) )。argsargs

3、是是StringString類型的形式參數(shù)。類型的形式參數(shù)。String argsString args或或String argsString argsSystem.out.println()System.out.println()是輸出語(yǔ)言的固定寫法。是輸出語(yǔ)言的固定寫法。SystemSystem是一個(gè)系統(tǒng)類的是一個(gè)系統(tǒng)類的名稱,其第一個(gè)字母必須大寫;名稱,其第一個(gè)字母必須大寫;outout是是SystemSystem類提供的一個(gè)標(biāo)準(zhǔn)輸出流;類提供的一個(gè)標(biāo)準(zhǔn)輸出流;Println()Println()是標(biāo)準(zhǔn)輸出流是標(biāo)準(zhǔn)輸出流outout提供的方法,用于輸出信息。提供的方法,用于輸出信息。3.

4、1 Java 3.1 Java 數(shù)據(jù)類型數(shù)據(jù)類型JavaJava標(biāo)識(shí)符標(biāo)識(shí)符常量和變量常量和變量JavaJava中的簡(jiǎn)單數(shù)據(jù)類型中的簡(jiǎn)單數(shù)據(jù)類型數(shù)組數(shù)組JavaJava標(biāo)識(shí)符及命名規(guī)則標(biāo)識(shí)符及命名規(guī)則標(biāo)識(shí)符可簡(jiǎn)單理解為一個(gè)名字,用來標(biāo)識(shí)包名、類標(biāo)識(shí)符可簡(jiǎn)單理解為一個(gè)名字,用來標(biāo)識(shí)包名、類名、方法名、常量名、變量名、接口名、對(duì)象名、數(shù)名、方法名、常量名、變量名、接口名、對(duì)象名、數(shù)組名、文件名等有效的字符序列。如:組名、文件名等有效的字符序列。如:MyhelloMyhello。命名規(guī)則:命名規(guī)則:“見名知義見名知義”3.1 Java 3.1 Java 數(shù)據(jù)類型數(shù)據(jù)類型JavaJava標(biāo)識(shí)符標(biāo)識(shí)符常

5、量和變量常量和變量JavaJava中的簡(jiǎn)單數(shù)據(jù)類型中的簡(jiǎn)單數(shù)據(jù)類型數(shù)組數(shù)組程序中所處理的數(shù)據(jù)表現(xiàn)為兩種形式:常量和變量。程序中所處理的數(shù)據(jù)表現(xiàn)為兩種形式:常量和變量。常量常量引言:供求關(guān)系或某原因引言:供求關(guān)系或某原因商品價(jià)格變動(dòng):商品商品價(jià)格變動(dòng):商品 變量變量變量變量備課:思索,如何引入,提起學(xué)生興趣?備課:思索,如何引入,提起學(xué)生興趣?3.1 Java 3.1 Java 數(shù)據(jù)類型數(shù)據(jù)類型JavaJava標(biāo)識(shí)符標(biāo)識(shí)符常量和變量常量和變量JavaJava中的簡(jiǎn)單數(shù)據(jù)類型中的簡(jiǎn)單數(shù)據(jù)類型數(shù)組數(shù)組數(shù)數(shù) 據(jù)據(jù) 類類 型型 計(jì)算機(jī)程序處理的對(duì)象是各種數(shù)據(jù),數(shù)據(jù)類型是指計(jì)算機(jī)程序處理的對(duì)象是各種數(shù)據(jù),

6、數(shù)據(jù)類型是指數(shù)據(jù)的內(nèi)在表現(xiàn)形式。根據(jù)現(xiàn)實(shí)世界數(shù)據(jù)的不同形式,數(shù)據(jù)的內(nèi)在表現(xiàn)形式。根據(jù)現(xiàn)實(shí)世界數(shù)據(jù)的不同形式,數(shù)據(jù)就劃分為多種不同的類型。數(shù)據(jù)就劃分為多種不同的類型。數(shù)據(jù)類型不同,能進(jìn)行的運(yùn)算不同,取值范圍也不數(shù)據(jù)類型不同,能進(jìn)行的運(yùn)算不同,取值范圍也不同,在計(jì)算機(jī)語(yǔ)言中還反映為數(shù)據(jù)的存儲(chǔ)形式不同。同,在計(jì)算機(jī)語(yǔ)言中還反映為數(shù)據(jù)的存儲(chǔ)形式不同。JavaJava的每種數(shù)據(jù)類型占用固定的內(nèi)存長(zhǎng)度,與軟硬的每種數(shù)據(jù)類型占用固定的內(nèi)存長(zhǎng)度,與軟硬件平臺(tái)無關(guān);每種數(shù)據(jù)類型均有一個(gè)缺省的數(shù)值。件平臺(tái)無關(guān);每種數(shù)據(jù)類型均有一個(gè)缺省的數(shù)值。 基本類型基本類型數(shù)值類型數(shù)值類型整型(整型(byte、short、in

7、t、long)實(shí)型(實(shí)型(float double)字符型(字符型(char)布爾型(布爾型(boolean)復(fù)合類型復(fù)合類型數(shù)組數(shù)組類(類(class)接口(接口(interface)表表3-1 Java語(yǔ)言的數(shù)據(jù)類型語(yǔ)言的數(shù)據(jù)類型Java取消了無符號(hào)數(shù)據(jù)類型。取消了無符號(hào)數(shù)據(jù)類型。數(shù)據(jù)類型數(shù)據(jù)類型案例:案例:SimpleTypes.java數(shù)據(jù)類型轉(zhuǎn)換數(shù)據(jù)類型轉(zhuǎn)換Java是強(qiáng)類型語(yǔ)言,賦值操作時(shí)要對(duì)類型進(jìn)行檢查。是強(qiáng)類型語(yǔ)言,賦值操作時(shí)要對(duì)類型進(jìn)行檢查。3.1 Java 3.1 Java 數(shù)據(jù)類型數(shù)據(jù)類型JavaJava標(biāo)識(shí)符標(biāo)識(shí)符常量和變量常量和變量JavaJava中的簡(jiǎn)單數(shù)據(jù)類型中的簡(jiǎn)

8、單數(shù)據(jù)類型數(shù)組數(shù)組數(shù)組數(shù)組數(shù)組數(shù)組數(shù)組數(shù)組數(shù)組數(shù)組Chapter 3 JSPChapter 3 JSP中的中的JavaJava程序程序JavaJava數(shù)據(jù)類型數(shù)據(jù)類型運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式JavaJava控制語(yǔ)句控制語(yǔ)句JavaJava面向?qū)ο缶幊袒A(chǔ)面向?qū)ο缶幊袒A(chǔ)運(yùn)算符運(yùn)算符表達(dá)式表達(dá)式運(yùn)算符優(yōu)先級(jí)運(yùn)算符優(yōu)先級(jí)Chapter 3 JSPChapter 3 JSP中的中的JavaJava程序程序JavaJava數(shù)據(jù)類型數(shù)據(jù)類型運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式JavaJava控制語(yǔ)句控制語(yǔ)句JavaJava面向?qū)ο缶幊袒A(chǔ)面向?qū)ο缶幊袒A(chǔ)JavaJava語(yǔ)句語(yǔ)句案例:案例:JavaJava控

9、制語(yǔ)句控制語(yǔ)句條件語(yǔ)句條件語(yǔ)句循環(huán)語(yǔ)句循環(huán)語(yǔ)句跳轉(zhuǎn)語(yǔ)句跳轉(zhuǎn)語(yǔ)句條件語(yǔ)句條件語(yǔ)句案例:案例:score條件語(yǔ)句條件語(yǔ)句JavaJava控制語(yǔ)句控制語(yǔ)句條件語(yǔ)句條件語(yǔ)句循環(huán)語(yǔ)句循環(huán)語(yǔ)句跳轉(zhuǎn)語(yǔ)句跳轉(zhuǎn)語(yǔ)句循環(huán)語(yǔ)句循環(huán)語(yǔ)句案例:案例:循環(huán)語(yǔ)句循環(huán)語(yǔ)句案例:案例:循環(huán)語(yǔ)句循環(huán)語(yǔ)句嵌套嵌套whilewhile和和do-whiledo-while語(yǔ)句語(yǔ)句JavaJava控制語(yǔ)句控制語(yǔ)句條件語(yǔ)句條件語(yǔ)句循環(huán)語(yǔ)句循環(huán)語(yǔ)句跳轉(zhuǎn)語(yǔ)句跳轉(zhuǎn)語(yǔ)句跳轉(zhuǎn)語(yǔ)句跳轉(zhuǎn)語(yǔ)句Chapter 3 JSPChapter 3 JSP中的中的JavaJava程序程序JavaJava數(shù)據(jù)類型數(shù)據(jù)類型運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式JavaJava控制

10、語(yǔ)句控制語(yǔ)句JavaJava面向?qū)ο缶幊袒A(chǔ)面向?qū)ο缶幊袒A(chǔ)JavaJava面向?qū)ο缶幊袒A(chǔ)面向?qū)ο缶幊袒A(chǔ)面向?qū)ο缶幊痰幕靖拍蠲嫦驅(qū)ο缶幊痰幕靖拍頙ava中的類和對(duì)象中的類和對(duì)象修飾符修飾符抽象類和接口抽象類和接口包包對(duì)象:表示客觀世界中的任何實(shí)體對(duì)象:表示客觀世界中的任何實(shí)體 (物理實(shí)體物理實(shí)體.人為概念人為概念.有明有明確邊界和意義的東西確邊界和意義的東西:人人.公司公司.窗口窗口.貸款等貸款等);類:具有共同屬性和共同操作對(duì)象的集合。類:具有共同屬性和共同操作對(duì)象的集合。半徑為半徑為2cm的紅色圓的紅色圓半徑為半徑為3cm的藍(lán)色圓的藍(lán)色圓半徑為半徑為4cm的綠色圓的綠色圓相同屬性圓

11、心坐標(biāo)、半徑和顏色)相同屬性圓心坐標(biāo)、半徑和顏色)和相同的操作移動(dòng)位置、改變大?。┖拖嗤牟僮饕苿?dòng)位置、改變大?。﹫A類圓類面向?qū)ο缶幊痰幕靖拍蠲嫦驅(qū)ο缶幊痰幕靖拍蠲嫦驅(qū)ο蟮幕靖拍罹褪菍?duì)象和類。面向?qū)ο蟮幕靖拍罹褪菍?duì)象和類。類是對(duì)象的抽象,它描述了屬于該對(duì)象類型的所有對(duì)象的性類是對(duì)象的抽象,它描述了屬于該對(duì)象類型的所有對(duì)象的性質(zhì),而一個(gè)對(duì)象則是其對(duì)應(yīng)類的一個(gè)實(shí)例。質(zhì),而一個(gè)對(duì)象則是其對(duì)應(yīng)類的一個(gè)實(shí)例。面向?qū)ο缶幊痰幕咎卣髅嫦驅(qū)ο缶幊痰幕咎卣鞣庋b性封裝性公司公司(算法、研發(fā)、測(cè)試、采購(gòu)、后勤算法、研發(fā)、測(cè)試、采購(gòu)、后勤):總經(jīng)理、部門經(jīng)理、各部門員工總經(jīng)理、部門經(jīng)理、各部門員工越俎代庖

12、越俎代庖 面向?qū)ο缶幊痰幕咎卣髅嫦驅(qū)ο缶幊痰幕咎卣骼^承性繼承性繼承是指一個(gè)對(duì)象直接使用另一個(gè)對(duì)象的屬性和方法。繼承是指一個(gè)對(duì)象直接使用另一個(gè)對(duì)象的屬性和方法。 汽車汽車( (轎車轎車/ /卡車卡車/ /越野車越野車/ /面包車面包車/ /公共汽車公共汽車) )面向?qū)ο缶幊痰幕咎卣髅嫦驅(qū)ο缶幊痰幕咎卣骼^承性繼承性C+中支持多繼承。中支持多繼承。相同部分的屬性和方法只編寫一次,則減少了重復(fù)代碼相同部分的屬性和方法只編寫一次,則減少了重復(fù)代碼的編寫,提高的編寫,提高 了代碼的可重用性和編程效率。了代碼的可重用性和編程效率。面向?qū)ο缶幊痰幕咎卣髅嫦驅(qū)ο缶幊痰幕咎卣鞫鄳B(tài)性多態(tài)性多態(tài)性:發(fā)送消

13、息給某個(gè)對(duì)象,讓該對(duì)象自行決定響應(yīng)多態(tài)性:發(fā)送消息給某個(gè)對(duì)象,讓該對(duì)象自行決定響應(yīng)何種行為。不同對(duì)象收到相同消息時(shí)產(chǎn)生多種不同的行何種行為。不同對(duì)象收到相同消息時(shí)產(chǎn)生多種不同的行為方式。挪開為方式。挪開(車車/凳子凳子)面向?qū)ο缶幊痰幕咎卣髅嫦驅(qū)ο缶幊痰幕咎卣鞫鄳B(tài)性多態(tài)性面向?qū)ο笳Z(yǔ)言編程的優(yōu)勢(shì):體現(xiàn)在封裝性、繼承性、多態(tài)性。面向?qū)ο笳Z(yǔ)言編程的優(yōu)勢(shì):體現(xiàn)在封裝性、繼承性、多態(tài)性。多態(tài)是一種機(jī)制,在類的繼承中得以實(shí)現(xiàn),在方法調(diào)用多態(tài)是一種機(jī)制,在類的繼承中得以實(shí)現(xiàn),在方法調(diào)用時(shí)得以體現(xiàn)。時(shí)得以體現(xiàn)。創(chuàng)建類創(chuàng)建類extends用于類的繼承,即創(chuàng)建一個(gè)類得子類時(shí)使用用于類的繼承,即創(chuàng)建一個(gè)類得子類

14、時(shí)使用該關(guān)鍵字;該關(guān)鍵字;implements用于實(shí)踐接口的關(guān)鍵字。用于實(shí)踐接口的關(guān)鍵字。在在Java中創(chuàng)建類之后,還需要為類添加類體中創(chuàng)建類之后,還需要為類添加類體(由成員變量和方法構(gòu)成由成員變量和方法構(gòu)成)成員變量和方法成員變量和方法格式格式Java中是通過類來封裝對(duì)象的屬性和行為。中是通過類來封裝對(duì)象的屬性和行為。對(duì)象屬性是通過類的成員變量來表示的;對(duì)象屬性是通過類的成員變量來表示的;對(duì)象行為是通過類的成員方法來表示的。對(duì)象行為是通過類的成員方法來表示的。Java中完整的類聲明格式如下:中完整的類聲明格式如下:權(quán)限修飾符權(quán)限修飾符 class 類的名稱類的名稱 權(quán)限修飾符權(quán)限修飾符 數(shù)據(jù)

15、類型數(shù)據(jù)類型 成員變量成員變量1; 權(quán)限修飾符權(quán)限修飾符 返回值類型返回值類型 成員方法名成員方法名1(形參類型形參類型 形參形參變量變量) 方法體;方法體; return 返回值;返回值;成員變量和方法成員變量和方法案例案例獲取成員變量的值可以通過獲取成員變量的值可以通過get方法來實(shí)現(xiàn),即方法來實(shí)現(xiàn),即get與成員變量與成員變量名的第一個(gè)字母大寫組成的方法名;名的第一個(gè)字母大寫組成的方法名;為成員變量賦值可以通過為成員變量賦值可以通過set方法來實(shí)現(xiàn),即方法來實(shí)現(xiàn),即set與成員變量名的與成員變量名的第一個(gè)字母大寫組成的方法名;第一個(gè)字母大寫組成的方法名;public class Stud

16、ent public String name; /定義成員變量定義成員變量name public void setName( String xm) /定義定義set方法方法 name=xm; /方法體,設(shè)置成員變量方法體,設(shè)置成員變量name的值的值 public String getName() /定義定義get方法方法 return name; /方法體,獲得成員變量方法體,獲得成員變量name的值的值 get方法的返回值類型必須與對(duì)應(yīng)成員變量的類型相同;方法的返回值類型必須與對(duì)應(yīng)成員變量的類型相同;set方法中為成員變量賦值的形參數(shù)據(jù)類型必須也要與對(duì)應(yīng)成方法中為成員變量賦值的形參數(shù)據(jù)類型

17、必須也要與對(duì)應(yīng)成員變量的類型相同;員變量的類型相同;對(duì)象創(chuàng)建對(duì)象創(chuàng)建引言引言在在Java中通過中通過new關(guān)鍵字和類的構(gòu)造方法來創(chuàng)建類的實(shí)例關(guān)鍵字和類的構(gòu)造方法來創(chuàng)建類的實(shí)例(即即對(duì)象對(duì)象),有了類的實(shí)例就可以訪問類的成員變量和方法了。,有了類的實(shí)例就可以訪問類的成員變量和方法了。利用方法的重載的形式,可以實(shí)現(xiàn)構(gòu)造方法,在一個(gè)類中提供利用方法的重載的形式,可以實(shí)現(xiàn)構(gòu)造方法,在一個(gè)類中提供多個(gè)構(gòu)造方法;多個(gè)構(gòu)造方法;在初始化時(shí)候,針對(duì)不同的情況,來調(diào)用相應(yīng)的構(gòu)造方法在初始化時(shí)候,針對(duì)不同的情況,來調(diào)用相應(yīng)的構(gòu)造方法方法重載方法重載構(gòu)造方法構(gòu)造方法構(gòu)造方法是一個(gè)與類同名的方法,主要用于創(chuàng)建對(duì)象,進(jìn)

18、行構(gòu)造方法是一個(gè)與類同名的方法,主要用于創(chuàng)建對(duì)象,進(jìn)行初始化操作,無返回值。初始化操作,無返回值。對(duì)象創(chuàng)建對(duì)象創(chuàng)建Persion zsan=new Persion()Persion lisi=new Persion(20)在在Java中通過中通過new關(guān)鍵字和類的構(gòu)造方法來創(chuàng)建類的實(shí)關(guān)鍵字和類的構(gòu)造方法來創(chuàng)建類的實(shí)例例(即對(duì)象即對(duì)象),有了類的實(shí)例就可以訪問類的成員變量和,有了類的實(shí)例就可以訪問類的成員變量和方法了。方法了。System.out.println(zsan.age);System.out.println(lisi.age); “對(duì)象名對(duì)象名.成員變量成員變量或或“對(duì)象名對(duì)象名.方

19、法方法來訪問對(duì)象的屬性和來訪問對(duì)象的屬性和行為。行為。案例:案例:Persion對(duì)象創(chuàng)建對(duì)象創(chuàng)建案例案例案例:案例:Employee對(duì)象創(chuàng)建對(duì)象創(chuàng)建案例案例修飾符修飾符訪問控制修飾符訪問控制修飾符案例:案例:Employee2staticstatic修飾符修飾符在在Java中如果希望某個(gè)變量的值能被所有的對(duì)象共享,可中如果希望某個(gè)變量的值能被所有的對(duì)象共享,可將該變量聲明為靜態(tài)變量。將該變量聲明為靜態(tài)變量。案例:案例:StaticTest當(dāng)類的一個(gè)實(shí)例改變了靜態(tài)成員變量的值,類的其他實(shí)例當(dāng)類的一個(gè)實(shí)例改變了靜態(tài)成員變量的值,類的其他實(shí)例在使用靜態(tài)成員變量時(shí),其值是改變后的值。在使用靜態(tài)成員變量

20、時(shí),其值是改變后的值。finalfinal變量變量final修飾符:可以修飾類、成員變量和成員方法。修飾符:可以修飾類、成員變量和成員方法。final變量只能在聲明時(shí)為其賦值,在程序運(yùn)行過程中不允變量只能在聲明時(shí)為其賦值,在程序運(yùn)行過程中不允許改變?cè)S改變final變量的值。變量的值。案例:案例:f1finalfinal類類finalfinal方法方法final方法:子類可以繼承父類的方法:子類可以繼承父類的final方法,但是不能重寫父方法,但是不能重寫父類的類的final方法。因此,當(dāng)我們聲明了類中的方法,而不希望方法。因此,當(dāng)我們聲明了類中的方法,而不希望子類重寫某個(gè)方法時(shí),就可把該方法聲

21、明為子類重寫某個(gè)方法時(shí),就可把該方法聲明為final方法。方法。抽象類抽象類引言引言u(píng)所有的對(duì)象都是通過類來描繪的,但并不是所有的類都是用所有的對(duì)象都是通過類來描繪的,但并不是所有的類都是用來描繪對(duì)象的,如果一個(gè)類中沒有包含足夠的信息來描繪一個(gè)來描繪對(duì)象的,如果一個(gè)類中沒有包含足夠的信息來描繪一個(gè)具體的對(duì)象,這樣的類就是抽象類。具體的對(duì)象,這樣的類就是抽象類。u抽象類往往用來表征我們?cè)趯?duì)問題領(lǐng)域進(jìn)行分析、抽象類往往用來表征我們?cè)趯?duì)問題領(lǐng)域進(jìn)行分析、 設(shè)計(jì)中得設(shè)計(jì)中得出的抽象概念,是對(duì)一系列看上去不同,但是本質(zhì)上相同的具出的抽象概念,是對(duì)一系列看上去不同,但是本質(zhì)上相同的具體概念的抽象。體概念的

22、抽象。u比如:如果我們進(jìn)行一個(gè)圖形編輯軟件的開發(fā),就會(huì)發(fā)現(xiàn)問比如:如果我們進(jìn)行一個(gè)圖形編輯軟件的開發(fā),就會(huì)發(fā)現(xiàn)問題領(lǐng)域存在著圓、題領(lǐng)域存在著圓、 三角形這樣一些具體概念,它們是不同的,三角形這樣一些具體概念,它們是不同的,但是它們又都屬于形狀這樣一個(gè)概念,形狀這個(gè)概念在問題領(lǐng)但是它們又都屬于形狀這樣一個(gè)概念,形狀這個(gè)概念在問題領(lǐng)域是不存在的,它就是一個(gè)抽象概念。正是因?yàn)槌橄蟮母拍钣蚴遣淮嬖诘模褪且粋€(gè)抽象概念。正是因?yàn)槌橄蟮母拍?在在問題領(lǐng)域沒有對(duì)應(yīng)的具體概念,所以用以表征抽象概念的抽象問題領(lǐng)域沒有對(duì)應(yīng)的具體概念,所以用以表征抽象概念的抽象類是不能夠?qū)嵗?。類是不能夠?qū)嵗?。抽象類抽象?/p>

23、引言引言u(píng)抽象類:他定義的對(duì)象和方法不能由他自身實(shí)現(xiàn),而要由使抽象類:他定義的對(duì)象和方法不能由他自身實(shí)現(xiàn),而要由使用他的類去實(shí)現(xiàn),也就是他只是說明了對(duì)象,并沒有真正的去用他的類去實(shí)現(xiàn),也就是他只是說明了對(duì)象,并沒有真正的去完成他,完成的動(dòng)作要有,具體使用的類去實(shí)現(xiàn)。完成他,完成的動(dòng)作要有,具體使用的類去實(shí)現(xiàn)。u普通類:定義的對(duì)象和方法,要有具體的動(dòng)作,也就是自己普通類:定義的對(duì)象和方法,要有具體的動(dòng)作,也就是自己實(shí)現(xiàn)自己定義的方法和動(dòng)作,具有實(shí)際的現(xiàn)象與效果!實(shí)現(xiàn)自己定義的方法和動(dòng)作,具有實(shí)際的現(xiàn)象與效果! 抽象類:把對(duì)象的共同屬性和方法提取出來,設(shè)計(jì)一抽象類:把對(duì)象的共同屬性和方法提取出來,

24、設(shè)計(jì)一個(gè)更加通用的類。個(gè)更加通用的類。抽象類和接口抽象類和接口抽象類:把對(duì)象的共同屬性和方法提取出來,設(shè)計(jì)一個(gè)更加通用的類。抽象類:把對(duì)象的共同屬性和方法提取出來,設(shè)計(jì)一個(gè)更加通用的類。四邊形四邊形(4條邊、邊長(zhǎng)、面積條邊、邊長(zhǎng)、面積)抽象類抽象類抽象類的具體實(shí)現(xiàn):平行四邊形、正方形、長(zhǎng)方形、梯形等等。抽象類的具體實(shí)現(xiàn):平行四邊形、正方形、長(zhǎng)方形、梯形等等。抽象方法不能有方法體,包括大括號(hào)也不允許有,且抽象方法必須抽象方法不能有方法體,包括大括號(hào)也不允許有,且抽象方法必須以分號(hào)以分號(hào)“;”終了。終了。如果一個(gè)類中有抽象方法,那這個(gè)類就一定要定義為抽象類,且在如果一個(gè)類中有抽象方法,那這個(gè)類就一

25、定要定義為抽象類,且在具體的子類中實(shí)現(xiàn)所有的抽象方法。具體的子類中實(shí)現(xiàn)所有的抽象方法。案例:案例:Test3接口接口接口接口接口:一種規(guī)范,在接口中只能定義常量和方法,而不能實(shí)現(xiàn)方法。接口:一種規(guī)范,在接口中只能定義常量和方法,而不能實(shí)現(xiàn)方法。接口中的方法都是抽象的方法,不需要接口中的方法都是抽象的方法,不需要abstract關(guān)鍵字,默認(rèn)就是抽關(guān)鍵字,默認(rèn)就是抽象的方法。象的方法。接口:蓋房子的圖紙接口:蓋房子的圖紙繪圖員按開發(fā)商要求繪圖員按開發(fā)商要求(不關(guān)心用什么材料去蓋不關(guān)心用什么材料去蓋)開發(fā)商安排工人依據(jù)圖紙樣式蓋樓。開發(fā)商安排工人依據(jù)圖紙樣式蓋樓。蓋起的大樓就是圖紙的具體實(shí)現(xiàn)。蓋起的

26、大樓就是圖紙的具體實(shí)現(xiàn)。接口中定義的方法只關(guān)心該方法能做什么,而不關(guān)心具體怎么做。接口中定義的方法只關(guān)心該方法能做什么,而不關(guān)心具體怎么做。接口接口創(chuàng)建與實(shí)現(xiàn)創(chuàng)建與實(shí)現(xiàn)案例:案例:Test43在在Java中使用中使用interface關(guān)鍵字來創(chuàng)建接口,格式:關(guān)鍵字來創(chuàng)建接口,格式:public interface 接口名稱接口名稱 常量定義;常量定義; 方法定義;方法定義;在在Java中使用中使用implements關(guān)鍵字來實(shí)現(xiàn)接口,格式:關(guān)鍵字來實(shí)現(xiàn)接口,格式:public class 類名類名 implements 接口名接口名 類體;類體;留意:在留意:在Java中一個(gè)類只能有一個(gè)直接父

27、類,但可實(shí)現(xiàn)多個(gè)接口。中一個(gè)類只能有一個(gè)直接父類,但可實(shí)現(xiàn)多個(gè)接口。包的引入包的引入實(shí)例:衣柜實(shí)例:衣柜衣服衣服隔斷隔斷包包package:Java提供的一種管理文件的機(jī)制。把實(shí)現(xiàn)不同功能提供的一種管理文件的機(jī)制。把實(shí)現(xiàn)不同功能的類和接口分別放入不同的包中,當(dāng)需要使用某個(gè)類或接口時(shí),的類和接口分別放入不同的包中,當(dāng)需要使用某個(gè)類或接口時(shí),只要引入其對(duì)應(yīng)的包,就可以使用包中的類和接口。只要引入其對(duì)應(yīng)的包,就可以使用包中的類和接口。類名沖突:若創(chuàng)建的類和接口變多時(shí),存在類名重復(fù)問題。類名沖突:若創(chuàng)建的類和接口變多時(shí),存在類名重復(fù)問題。若需要使用某個(gè)同名的類時(shí),若需要使用某個(gè)同名的類時(shí),bug:Ja

28、va虛擬機(jī)不允許有兩個(gè)虛擬機(jī)不允許有兩個(gè)及以上的同名類。措施:將他們放入不同的包中。及以上的同名類。措施:將他們放入不同的包中。實(shí)例:實(shí)例:java.utiljava.sql完整的類路徑:完整的類路徑:java.util.Date 或或 java.sql.Date案例:案例:java.util.Date dt=new java.util.Date();包的創(chuàng)建包的創(chuàng)建留意:留意:若在創(chuàng)建時(shí)沒有為類指定所在的包,則自動(dòng)保存到默認(rèn)的包中。若在創(chuàng)建時(shí)沒有為類指定所在的包,則自動(dòng)保存到默認(rèn)的包中。格式:格式:Package 包名;包名;包的引用包的引用Test類就是包類就是包aa.bb的類,的類,Te

29、st的完整路徑為的完整路徑為aa.bb.Test”格式:格式:package 包名包名.類名類名;案例:案例:Test(要先創(chuàng)建包要先創(chuàng)建包)課堂練習(xí)課堂練習(xí)包創(chuàng)建和引用包創(chuàng)建和引用案例:新建案例:新建Project項(xiàng)目,在該項(xiàng)目中創(chuàng)建項(xiàng)目,在該項(xiàng)目中創(chuàng)建aa.bb包,然后再引入包,然后再引入java.util包中的包中的Date類,并創(chuàng)建類,并創(chuàng)建ShiJian類,練習(xí)包的創(chuàng)建和引用。類,練習(xí)包的創(chuàng)建和引用。課堂練習(xí)課堂練習(xí)相同包之間的訪問相同包之間的訪問案例:在已經(jīng)建立案例:在已經(jīng)建立Project項(xiàng)目中創(chuàng)建項(xiàng)目中創(chuàng)建mr.bbb包,然后在該包中創(chuàng)建包,然后在該包中創(chuàng)建Test和和ImpT

30、est兩個(gè)類,測(cè)試同包之間類的訪問。兩個(gè)類,測(cè)試同包之間類的訪問。Test類代碼如下:類代碼如下:ImpTest類代碼如下:類代碼如下:在在Java中如果兩個(gè)或多個(gè)類在同一包中,在一個(gè)類中可以直接創(chuàng)建其中如果兩個(gè)或多個(gè)類在同一包中,在一個(gè)類中可以直接創(chuàng)建其他類的實(shí)例,然后通過類的實(shí)例訪問類中的成員變量和方法,而不需他類的實(shí)例,然后通過類的實(shí)例訪問類中的成員變量和方法,而不需要引用包。要引用包。課堂練習(xí)課堂練習(xí)不同包中類之間的訪問不同包中類之間的訪問案例:在已經(jīng)建立案例:在已經(jīng)建立Project項(xiàng)目中創(chuàng)建項(xiàng)目中創(chuàng)建mr.aaa包和包和mr.zzk包,然后分包,然后分別在包中創(chuàng)建別在包中創(chuàng)建Exa

31、m和和ImpExam兩個(gè)類,測(cè)試不同包之間類的訪問。兩個(gè)類,測(cè)試不同包之間類的訪問。Exam類代碼如下:類代碼如下:ImpExam類代碼如下:類代碼如下:在在Java中如果兩個(gè)或多個(gè)類不在同一包中,要在一個(gè)類中創(chuàng)建其他類中如果兩個(gè)或多個(gè)類不在同一包中,要在一個(gè)類中創(chuàng)建其他類的實(shí)例,就必須要先引用所要使用的類的完整類路徑,即引用所要使的實(shí)例,就必須要先引用所要使用的類的完整類路徑,即引用所要使用的包中的類,然后才能創(chuàng)建類的實(shí)例,并通過類的實(shí)例訪問類中的用的包中的類,然后才能創(chuàng)建類的實(shí)例,并通過類的實(shí)例訪問類中的成員變量和方法,否則就會(huì)出錯(cuò)。成員變量和方法,否則就會(huì)出錯(cuò)。課堂練習(xí)課堂練習(xí)final

32、final變量變量案例:在已經(jīng)建立案例:在已經(jīng)建立Project項(xiàng)目中創(chuàng)建項(xiàng)目中創(chuàng)建mingri包,并在該包中創(chuàng)建包,并在該包中創(chuàng)建T1類,在該類中定義一個(gè)類,在該類中定義一個(gè)final變量,然后再主方法中創(chuàng)建變量,然后再主方法中創(chuàng)建T1類的實(shí)例,類的實(shí)例,并測(cè)試能否改變并測(cè)試能否改變final變量的值。變量的值。案例:在已創(chuàng)建的項(xiàng)目案例:在已創(chuàng)建的項(xiàng)目Project的包的包mingri中創(chuàng)建中創(chuàng)建T1類的之類類的之類ExT1,然后再然后再ExT1類中測(cè)試是否能重寫父類類中測(cè)試是否能重寫父類T1中的中的final方法。方法。課堂練習(xí)課堂練習(xí)finalfinal方法方法課堂練習(xí)課堂練習(xí)繼承性繼承性案例:在項(xiàng)目的包案例:在項(xiàng)目的包aaa中創(chuàng)建中創(chuàng)建A和和B兩個(gè)類,使類兩個(gè)類,使類B是類的子類,然是類的子類,然后在子類中創(chuàng)建的實(shí)例,并通過該實(shí)例分別調(diào)用類和類的方后在子類中創(chuàng)建的實(shí)例,并通過該實(shí)例分別調(diào)用類和類的方法,掌握繼承的原理。法,掌握繼承的原理。課堂練習(xí)課堂練習(xí)抽象類抽象類案例:在項(xiàng)目的包案例:在項(xiàng)目的包aaa中創(chuàng)建抽象類中創(chuàng)建抽象類Example及其子類及其子類SubExample,在抽象類在抽象類Example中分別定義一個(gè)成員方法和一個(gè)抽象方法,并在中分別定義一個(gè)成員方法和一個(gè)抽象方法,并在子類中進(jìn)行測(cè)試。子類中進(jìn)行測(cè)試。課堂練習(xí)課堂練習(xí)權(quán)限

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論