第3章類(lèi)與對(duì)象ppt課件_第1頁(yè)
第3章類(lèi)與對(duì)象ppt課件_第2頁(yè)
第3章類(lèi)與對(duì)象ppt課件_第3頁(yè)
第3章類(lèi)與對(duì)象ppt課件_第4頁(yè)
第3章類(lèi)與對(duì)象ppt課件_第5頁(yè)
已閱讀5頁(yè),還剩13頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第三章第三章 類(lèi)與對(duì)象類(lèi)與對(duì)象本章學(xué)習(xí)目標(biāo)本章學(xué)習(xí)目標(biāo) 本章介紹本章介紹Java的核心概念類(lèi)與對(duì)象,是學(xué)習(xí)的核心概念類(lèi)與對(duì)象,是學(xué)習(xí)Java編程的關(guān)鍵之一,學(xué)習(xí)時(shí)應(yīng)當(dāng)深入理解切實(shí)掌握。編程的關(guān)鍵之一,學(xué)習(xí)時(shí)應(yīng)當(dāng)深入理解切實(shí)掌握。掌握類(lèi)的概念,掌握類(lèi)的成員變量和成員方法的概念。掌握類(lèi)的概念,掌握類(lèi)的成員變量和成員方法的概念。理解自定義類(lèi)與類(lèi)庫(kù),了解常用的理解自定義類(lèi)與類(lèi)庫(kù),了解常用的Java類(lèi)庫(kù)和使用類(lèi)類(lèi)庫(kù)和使用類(lèi)庫(kù)的方法。庫(kù)的方法。掌握對(duì)象的概念、創(chuàng)建對(duì)象的方法。掌握對(duì)象的概念、創(chuàng)建對(duì)象的方法。掌握對(duì)象的成員變量和成員方法的概念和引用成員變掌握對(duì)象的成員變量和成員方法的概念和引用成員變量、調(diào)用

2、成員方法的方法。量、調(diào)用成員方法的方法。掌握類(lèi)的構(gòu)造方法的本質(zhì)和用法。掌握類(lèi)的構(gòu)造方法的本質(zhì)和用法。第三章第三章 類(lèi)與對(duì)象類(lèi)與對(duì)象3.1.1 3.1.1 類(lèi)的聲明類(lèi)的聲明 類(lèi)聲明定義一個(gè)類(lèi)的名稱、訪問(wèn)權(quán)限、與其他類(lèi)的關(guān)系等。聲明類(lèi)的格式為:類(lèi)聲明定義一個(gè)類(lèi)的名稱、訪問(wèn)權(quán)限、與其他類(lèi)的關(guān)系等。聲明類(lèi)的格式為: 類(lèi)修飾符類(lèi)修飾符 class class 類(lèi)名類(lèi)名 extends extends 父類(lèi)名父類(lèi)名 implements implements接口名表接口名表 類(lèi)體類(lèi)體 闡明:闡明:class class 聲明類(lèi)的關(guān)鍵字。聲明類(lèi)的關(guān)鍵字。 extends extends 指明本類(lèi)繼承的父類(lèi),

3、在其后指定父類(lèi)名指明本類(lèi)繼承的父類(lèi),在其后指定父類(lèi)名 implements implements 指明本類(lèi)使用的接口,在其后指定接口名表指明本類(lèi)使用的接口,在其后指定接口名表 類(lèi)修飾符類(lèi)修飾符 用于指定類(lèi)的使用特性和訪問(wèn)權(quán)限,例如類(lèi)是否為抽象類(lèi)或最終類(lèi)等??扇∫杂糜谥付?lèi)的使用特性和訪問(wèn)權(quán)限,例如類(lèi)是否為抽象類(lèi)或最終類(lèi)等。可取以下三種之一:下三種之一: public public 表明本類(lèi)是共有類(lèi),在本包與其他包內(nèi)均可訪問(wèn)。表明本類(lèi)是共有類(lèi),在本包與其他包內(nèi)均可訪問(wèn)。 abstract abstract 表明本類(lèi)為抽象類(lèi),必須被繼承后才能使用。表明本類(lèi)為抽象類(lèi),必須被繼承后才能使用。 fina

4、l final 表明本類(lèi)為最終類(lèi),不能被其他類(lèi)繼承。表明本類(lèi)為最終類(lèi),不能被其他類(lèi)繼承。 類(lèi)聲明緊接一對(duì)大括號(hào),在大括號(hào)中是類(lèi)體。類(lèi)聲明緊接一對(duì)大括號(hào),在大括號(hào)中是類(lèi)體。3.1 3.1 類(lèi)類(lèi)第三章第三章 類(lèi)與對(duì)象類(lèi)與對(duì)象3.1.2 3.1.2 類(lèi)體類(lèi)體 類(lèi)體中定義了本類(lèi)所有的成員,包含成員變量和成員類(lèi)體中定義了本類(lèi)所有的成員,包含成員變量和成員方法。成員方法是對(duì)成員變量進(jìn)行的操作,在類(lèi)體中不但方法。成員方法是對(duì)成員變量進(jìn)行的操作,在類(lèi)體中不但要定義方法,還要實(shí)現(xiàn)該方法。類(lèi)主體的結(jié)構(gòu)如下:要定義方法,還要實(shí)現(xiàn)該方法。類(lèi)主體的結(jié)構(gòu)如下: 3.1 3.1 類(lèi)類(lèi)第三章第三章 類(lèi)與對(duì)象類(lèi)與對(duì)象3.1.3

5、 3.1.3 類(lèi)的成員變量類(lèi)的成員變量 聲明成員變量時(shí)應(yīng)給出變量名及其所屬的類(lèi)型,同時(shí)還聲明成員變量時(shí)應(yīng)給出變量名及其所屬的類(lèi)型,同時(shí)還可以指定其他特性。其聲明格式如下:可以指定其他特性。其聲明格式如下: 其中成員變量的修飾符有以下其中成員變量的修飾符有以下7 7種:種: public public 指明此變量可以在任何地方訪問(wèn)。指明此變量可以在任何地方訪問(wèn)。 private private 指明此變量只可以在本類(lèi)中訪問(wèn)。指明此變量只可以在本類(lèi)中訪問(wèn)。 friendly friendly 指明此變量只可以在本包中訪問(wèn),這是指明此變量只可以在本包中訪問(wèn),這是默默 認(rèn)的修飾符。認(rèn)的修飾符。 pro

6、tected protected 指明此變量可以在本包及其子類(lèi)中訪問(wèn)。指明此變量可以在本包及其子類(lèi)中訪問(wèn)。 private protected private protected 指明此變量可以在本類(lèi)及其指明此變量可以在本類(lèi)及其子類(lèi)子類(lèi) 中訪中訪 3.1 3.1 類(lèi)類(lèi)第三章第三章 類(lèi)與對(duì)象類(lèi)與對(duì)象 static static 指明此變量是一個(gè)類(lèi)變量,只存在于類(lèi)指明此變量是一個(gè)類(lèi)變量,只存在于類(lèi)中,而不存在于對(duì)象中。中,而不存在于對(duì)象中。 final final 指明此變量不能被修改,實(shí)際相當(dāng)于常量。指明此變量不能被修改,實(shí)際相當(dāng)于常量。 類(lèi)的成員變量必須在類(lèi)體內(nèi)聲明,且不能放在方法體類(lèi)的成員變

7、量必須在類(lèi)體內(nèi)聲明,且不能放在方法體中。例如,下面聲明了一個(gè)表示日期的類(lèi)中。例如,下面聲明了一個(gè)表示日期的類(lèi)Date1Date1,其中有,其中有三個(gè)成員變量三個(gè)成員變量yearyear、monthmonth和和dayday,分別用于記錄日期的年、,分別用于記錄日期的年、月、日。月、日。 public class Date1 / public class Date1 /類(lèi)聲明類(lèi)聲明 int year, month, day int year, month, day; / /聲明三個(gè)成員變量聲明三個(gè)成員變量3.1 3.1 類(lèi)類(lèi)第三章第三章 類(lèi)與對(duì)象類(lèi)與對(duì)象3.1.4 3.1.4 類(lèi)的成員方法類(lèi)的成

8、員方法 類(lèi)的行為即對(duì)數(shù)據(jù)的操作由它的方法實(shí)現(xiàn)。方法的格式分為兩部分:方類(lèi)的行為即對(duì)數(shù)據(jù)的操作由它的方法實(shí)現(xiàn)。方法的格式分為兩部分:方法聲明和實(shí)現(xiàn)方法的方法體。聲明成員方法的格式如下:法聲明和實(shí)現(xiàn)方法的方法體。聲明成員方法的格式如下: ( ( ) ) 方法的修飾符用于設(shè)置方法的使用范圍及使用方式,有以下方法的修飾符用于設(shè)置方法的使用范圍及使用方式,有以下9 9種情況:種情況: public public 指明此方法可以在任何地方訪問(wèn)。指明此方法可以在任何地方訪問(wèn)。 private private 指明此方法只可以由本類(lèi)中的方法訪問(wèn)。指明此方法只可以由本類(lèi)中的方法訪問(wèn)。 friendly frie

9、ndly 指明此方法可以由本類(lèi)中的方法和本包中其他類(lèi)中的方法指明此方法可以由本類(lèi)中的方法和本包中其他類(lèi)中的方法訪問(wèn)。訪問(wèn)。 protected protected 指明此方法可以由本類(lèi)及其子類(lèi)中的方法訪問(wèn)。指明此方法可以由本類(lèi)及其子類(lèi)中的方法訪問(wèn)。 static static 指明此方法是一個(gè)類(lèi)方法。指明此方法是一個(gè)類(lèi)方法。 final final 指明此方法不能被子類(lèi)重載。指明此方法不能被子類(lèi)重載。 native native 指明此方法是一個(gè)本地方法。指明此方法是一個(gè)本地方法。 abstract abstract 指明此方法是一個(gè)抽象方法,必須在子類(lèi)中重載。指明此方法是一個(gè)抽象方法,必須在

10、子類(lèi)中重載。 synchronized synchronized 指明此方法是一個(gè)同步方法,在多線程中用于同步。指明此方法是一個(gè)同步方法,在多線程中用于同步。3.1 3.1 類(lèi)類(lèi)第三章第三章 類(lèi)與對(duì)象類(lèi)與對(duì)象3.2.1 3.2.1 自定義類(lèi)與類(lèi)庫(kù)自定義類(lèi)與類(lèi)庫(kù) Java Java的類(lèi)有兩種,前面介紹的是用戶編程時(shí)自定義的的類(lèi)有兩種,前面介紹的是用戶編程時(shí)自定義的類(lèi),實(shí)際編程時(shí)還需要使用大量的系統(tǒng)定義好的類(lèi),即類(lèi),實(shí)際編程時(shí)還需要使用大量的系統(tǒng)定義好的類(lèi),即JavaJava類(lèi)庫(kù)中的類(lèi)。自定義類(lèi)的用途有兩個(gè),其一是為了實(shí)類(lèi)庫(kù)中的類(lèi)。自定義類(lèi)的用途有兩個(gè),其一是為了實(shí)現(xiàn)某一功能由用戶編寫(xiě)的類(lèi);其二是

11、在自定義的類(lèi)中引用現(xiàn)某一功能由用戶編寫(xiě)的類(lèi);其二是在自定義的類(lèi)中引用JavaJava類(lèi)庫(kù)中的類(lèi)。后者單獨(dú)使用的情況不多,往往與第一類(lèi)庫(kù)中的類(lèi)。后者單獨(dú)使用的情況不多,往往與第一種情況結(jié)合使用,即在實(shí)現(xiàn)用戶的功能時(shí)大量調(diào)用種情況結(jié)合使用,即在實(shí)現(xiàn)用戶的功能時(shí)大量調(diào)用JavaJava類(lèi)類(lèi)庫(kù)中的類(lèi)。庫(kù)中的類(lèi)。 可見(jiàn),類(lèi)庫(kù)是可見(jiàn),類(lèi)庫(kù)是JavaJava語(yǔ)言的重要組成部分。語(yǔ)言的重要組成部分。JavaJava語(yǔ)言由語(yǔ)言由語(yǔ)法規(guī)則和類(lèi)庫(kù)兩部分組成,語(yǔ)法規(guī)則確定語(yǔ)法規(guī)則和類(lèi)庫(kù)兩部分組成,語(yǔ)法規(guī)則確定JavaJava程序的書(shū)程序的書(shū)寫(xiě)規(guī)范,類(lèi)庫(kù)則提供了寫(xiě)規(guī)范,類(lèi)庫(kù)則提供了JavaJava程序與運(yùn)行它的系統(tǒng)軟件

12、之間程序與運(yùn)行它的系統(tǒng)軟件之間的接口。的接口。3.2 Java3.2 Java的類(lèi)庫(kù)的類(lèi)庫(kù)第三章第三章 類(lèi)與對(duì)象類(lèi)與對(duì)象 Java Java類(lèi)庫(kù)是由其他開(kāi)發(fā)人員或軟件供應(yīng)商編寫(xiě)好的類(lèi)庫(kù)是由其他開(kāi)發(fā)人員或軟件供應(yīng)商編寫(xiě)好的JavaJava程序模塊,每個(gè)模塊通常對(duì)應(yīng)一種特定的基本功能和程序模塊,每個(gè)模塊通常對(duì)應(yīng)一種特定的基本功能和任務(wù),這樣當(dāng)用戶編寫(xiě)的任務(wù),這樣當(dāng)用戶編寫(xiě)的JavaJava程序需要完成其中某一功能程序需要完成其中某一功能的時(shí)候,就可以直接利用這些現(xiàn)成的類(lèi)庫(kù),而不需要一切的時(shí)候,就可以直接利用這些現(xiàn)成的類(lèi)庫(kù),而不需要一切從頭編寫(xiě)。所以,學(xué)習(xí)從頭編寫(xiě)。所以,學(xué)習(xí)JavaJava語(yǔ)言程序

13、設(shè)計(jì),應(yīng)當(dāng)把注意力語(yǔ)言程序設(shè)計(jì),應(yīng)當(dāng)把注意力集中在兩個(gè)方面:一方面是學(xué)習(xí)其語(yǔ)法規(guī)則,因?yàn)檫@是編集中在兩個(gè)方面:一方面是學(xué)習(xí)其語(yǔ)法規(guī)則,因?yàn)檫@是編寫(xiě)寫(xiě)JavaJava程序的基本功。另一方面是學(xué)習(xí)使用類(lèi)庫(kù),這對(duì)于程序的基本功。另一方面是學(xué)習(xí)使用類(lèi)庫(kù),這對(duì)于提高編程效率和編程質(zhì)量是決定性的。在一定程度上來(lái)講,提高編程效率和編程質(zhì)量是決定性的。在一定程度上來(lái)講,能否熟練地拿握盡可能多的能否熟練地拿握盡可能多的JavaJava類(lèi)庫(kù),決定了類(lèi)庫(kù),決定了JavaJava編程能編程能力的高低。力的高低。 這些系統(tǒng)定義好的類(lèi)根據(jù)實(shí)現(xiàn)的功能不同,被劃分成這些系統(tǒng)定義好的類(lèi)根據(jù)實(shí)現(xiàn)的功能不同,被劃分成不同的集合。每

14、個(gè)集合是一個(gè)包,合稱為類(lèi)庫(kù)。不同的集合。每個(gè)集合是一個(gè)包,合稱為類(lèi)庫(kù)。JavaJava的類(lèi)的類(lèi)庫(kù)是系統(tǒng)提供的已實(shí)現(xiàn)的標(biāo)準(zhǔn)類(lèi)的集合,是庫(kù)是系統(tǒng)提供的已實(shí)現(xiàn)的標(biāo)準(zhǔn)類(lèi)的集合,是JavaJava編程的編程的APIAPI,這些類(lèi)庫(kù)稱為基礎(chǔ)類(lèi)庫(kù)。,這些類(lèi)庫(kù)稱為基礎(chǔ)類(lèi)庫(kù)。3.2 Java3.2 Java的類(lèi)庫(kù)的類(lèi)庫(kù)第三章第三章 類(lèi)與對(duì)象類(lèi)與對(duì)象3.2.2 Java3.2.2 Java的常用類(lèi)庫(kù)的常用類(lèi)庫(kù) 本書(shū)將介紹的是本書(shū)將介紹的是JavaJava開(kāi)發(fā)工具包開(kāi)發(fā)工具包JDKJDKJava Java development Kitdevelopment Kit的的1.41.4版本。在版本。在JDKJDK中包括

15、了開(kāi)發(fā)、運(yùn)中包括了開(kāi)發(fā)、運(yùn)行行JavaJava程序所需的工具,如程序所需的工具,如JavaJava的基本組件、庫(kù)、編譯器、的基本組件、庫(kù)、編譯器、解釋器等。下面對(duì)經(jīng)常使用的包加以介紹。解釋器等。下面對(duì)經(jīng)常使用的包加以介紹。 1 1java.langjava.lang包包 java.lang java.lang包是包是JavaJava語(yǔ)言的核心類(lèi)庫(kù),包含了運(yùn)行語(yǔ)言的核心類(lèi)庫(kù),包含了運(yùn)行JavaJava程序必不可少的系統(tǒng)類(lèi),如基本數(shù)據(jù)類(lèi)型、基本數(shù)學(xué)程序必不可少的系統(tǒng)類(lèi),如基本數(shù)據(jù)類(lèi)型、基本數(shù)學(xué)函數(shù)、字符串處理、線程、異常處理類(lèi)等。每個(gè)函數(shù)、字符串處理、線程、異常處理類(lèi)等。每個(gè)JavaJava程序程

16、序運(yùn)行時(shí),系統(tǒng)都會(huì)自動(dòng)地引入運(yùn)行時(shí),系統(tǒng)都會(huì)自動(dòng)地引入java.langjava.lang包,所以這個(gè)包包,所以這個(gè)包的加載是缺省的。的加載是缺省的。3.2 Java3.2 Java的類(lèi)庫(kù)的類(lèi)庫(kù)第三章第三章 類(lèi)與對(duì)象類(lèi)與對(duì)象 2 2java.iojava.io包包 java.io java.io包是包是JavaJava語(yǔ)言的標(biāo)準(zhǔn)輸入語(yǔ)言的標(biāo)準(zhǔn)輸入/ /輸出類(lèi)庫(kù),包含了實(shí)現(xiàn)輸出類(lèi)庫(kù),包含了實(shí)現(xiàn)JavaJava程序與操作程序與操作系統(tǒng)、用戶界面以及其他系統(tǒng)、用戶界面以及其他JavaJava程序做數(shù)據(jù)交換所使用的類(lèi),如基本輸入輸出程序做數(shù)據(jù)交換所使用的類(lèi),如基本輸入輸出流、文件輸入輸出流等。凡是需要

17、完成與操作系統(tǒng)有關(guān)的較底層的輸入輸出流、文件輸入輸出流等。凡是需要完成與操作系統(tǒng)有關(guān)的較底層的輸入輸出操作的操作的JavaJava程序,都要用到程序,都要用到j(luò)ava.iojava.io包。包。 3 3java.utiljava.util包包 java.util java.util包包括了包包括了JavaJava語(yǔ)言中的一些低級(jí)的實(shí)用工具,如處理時(shí)間的語(yǔ)言中的一些低級(jí)的實(shí)用工具,如處理時(shí)間的DateDate類(lèi),處理變長(zhǎng)數(shù)組的類(lèi),處理變長(zhǎng)數(shù)組的VectorVector類(lèi)等。類(lèi)等。 4 4java.awtjava.awt包包 java.awt java.awt包是包是JavaJava語(yǔ)言用來(lái)構(gòu)建圖

18、形用戶界面的類(lèi)庫(kù),它包括了許多界面語(yǔ)言用來(lái)構(gòu)建圖形用戶界面的類(lèi)庫(kù),它包括了許多界面元素和資源,主要在三個(gè)方面提供界面設(shè)計(jì)支持:元素和資源,主要在三個(gè)方面提供界面設(shè)計(jì)支持: 低級(jí)繪圖操作,如低級(jí)繪圖操作,如GraphicsGraphics類(lèi)等;類(lèi)等; 圖形界面組件和布局管理,如圖形界面組件和布局管理,如ContainerContainer類(lèi)、類(lèi)、LayoutMtManagerLayoutMtManager接口等;接口等; 用戶交互控制和事件響應(yīng),如用戶交互控制和事件響應(yīng),如EventEvent類(lèi)。類(lèi)。 利用利用java.awtjava.awt包,開(kāi)發(fā)人員可以很方便地編寫(xiě)出美觀、方便、標(biāo)準(zhǔn)化的應(yīng)包

19、,開(kāi)發(fā)人員可以很方便地編寫(xiě)出美觀、方便、標(biāo)準(zhǔn)化的應(yīng)用程序界面。用程序界面。3.2 Java3.2 Java的類(lèi)庫(kù)的類(lèi)庫(kù)第三章第三章 類(lèi)與對(duì)象類(lèi)與對(duì)象 5 5java.awt.imagejava.awt.image包包 java.awt.image java.awt.image包是用來(lái)處理和操縱來(lái)自于網(wǎng)上的圖片的包是用來(lái)處理和操縱來(lái)自于網(wǎng)上的圖片的JavaJava工具類(lèi)庫(kù)。工具類(lèi)庫(kù)。 6 6java.appletjava.applet包包 java.applet java.applet包是用來(lái)實(shí)現(xiàn)運(yùn)行于包是用來(lái)實(shí)現(xiàn)運(yùn)行于InternetInternet瀏覽器中的瀏覽器中的Java Java Ap

20、pletApplet的工具類(lèi)庫(kù),它包含少量幾個(gè)接口和一個(gè)非常有用的類(lèi)的工具類(lèi)庫(kù),它包含少量幾個(gè)接口和一個(gè)非常有用的類(lèi)javn.applet.Appletjavn.applet.Applet。 7 7javajava包包 java java包是包是JavaJava語(yǔ)言用來(lái)實(shí)現(xiàn)網(wǎng)絡(luò)功能的類(lèi)庫(kù)。語(yǔ)言用來(lái)實(shí)現(xiàn)網(wǎng)絡(luò)功能的類(lèi)庫(kù)。3.2 Java3.2 Java的類(lèi)庫(kù)的類(lèi)庫(kù)第三章第三章 類(lèi)與對(duì)象類(lèi)與對(duì)象 8 8 java.util.zip java.util.zip包包 java.util.zip java.util.zip包用來(lái)實(shí)現(xiàn)文件壓縮功能。包用來(lái)實(shí)現(xiàn)文件壓縮功能。 9 9java.awt.datat

21、ransferjava.awt.datatransfer包包 java.awt.datatransfer java.awt.datatransfer包提供了處理數(shù)據(jù)包提供了處理數(shù)據(jù)傳輸?shù)墓ぞ哳?lèi),包括剪貼板、字符串發(fā)送器等。傳輸?shù)墓ぞ哳?lèi),包括剪貼板、字符串發(fā)送器等。 10 10java.awt.eventjava.awt.event包包 java.awt.event java.awt.event包使得程序可以用不同的方包使得程序可以用不同的方式來(lái)處理不同類(lèi)型的事件,并使每個(gè)圖形界面的式來(lái)處理不同類(lèi)型的事件,并使每個(gè)圖形界面的元素本身?yè)碛刑幚硎录哪芰?。元素本身?yè)碛刑幚硎录哪芰Α?11 11ja

22、va.sqljava.sql包包 java.sql java.sql包是實(shí)現(xiàn)包是實(shí)現(xiàn)JDBCJDBC的類(lèi)庫(kù)。利用這個(gè)包的類(lèi)庫(kù)。利用這個(gè)包可以使可以使JavaJava程序具有訪問(wèn)不同種類(lèi)的數(shù)據(jù)庫(kù)的功程序具有訪問(wèn)不同種類(lèi)的數(shù)據(jù)庫(kù)的功能,如能,如OracleOracle,SybaseSybase,DB2DB2,SQLServerSQLServer等。等。3.2 Java3.2 Java的類(lèi)庫(kù)的類(lèi)庫(kù)第三章第三章 類(lèi)與對(duì)象類(lèi)與對(duì)象 使用類(lèi)庫(kù)中類(lèi)的前提是所引用的系統(tǒng)類(lèi)必須是用戶程序可見(jiàn)的類(lèi)。使用類(lèi)庫(kù)中類(lèi)的前提是所引用的系統(tǒng)類(lèi)必須是用戶程序可見(jiàn)的類(lèi)。為此用戶程序需要用為此用戶程序需要用importimpor

23、t語(yǔ)句引入所用到的系統(tǒng)類(lèi)或系統(tǒng)類(lèi)所在的語(yǔ)句引入所用到的系統(tǒng)類(lèi)或系統(tǒng)類(lèi)所在的包。例如每一個(gè)使用圖形用戶界面的程序,都應(yīng)該在程序的前部用語(yǔ)包。例如每一個(gè)使用圖形用戶界面的程序,都應(yīng)該在程序的前部用語(yǔ)句句 import java.awt. import java.awt.* *; ; import java.awt.event. import java.awt.event.* *; ; 引入引入Java.awtJava.awt包和包和java.awt.eventjava.awt.event包。類(lèi)庫(kù)包中的程序都是字節(jié)包。類(lèi)庫(kù)包中的程序都是字節(jié)碼形式的程序,利用碼形式的程序,利用importimport

24、語(yǔ)句將一個(gè)包引人到程序里,就相當(dāng)于在語(yǔ)句將一個(gè)包引人到程序里,就相當(dāng)于在編譯過(guò)程中將該包中所有系統(tǒng)類(lèi)的字節(jié)碼加人到用戶的編譯過(guò)程中將該包中所有系統(tǒng)類(lèi)的字節(jié)碼加人到用戶的JavaJava程序中,程序中,這樣用戶這樣用戶JavaJava程序就可以使用這些系統(tǒng)類(lèi)及其中的各種功能。程序就可以使用這些系統(tǒng)類(lèi)及其中的各種功能。3.2.3 3.2.3 使用類(lèi)庫(kù)的方法使用類(lèi)庫(kù)的方法第三章第三章 類(lèi)與對(duì)象類(lèi)與對(duì)象 使用類(lèi)庫(kù)中的類(lèi)有三種方式:使用類(lèi)庫(kù)中的類(lèi)有三種方式: (1 1繼承系統(tǒng)類(lèi)。在用戶程序里創(chuàng)建系統(tǒng)類(lèi)的子類(lèi),例如每個(gè)繼承系統(tǒng)類(lèi)。在用戶程序里創(chuàng)建系統(tǒng)類(lèi)的子類(lèi),例如每個(gè)Java AppletJava App

25、let的主類(lèi)都是的主類(lèi)都是java.appletjava.applet包中的包中的AppletApplet類(lèi)的子類(lèi)。類(lèi)的子類(lèi)。 (2 2創(chuàng)建系統(tǒng)類(lèi)的對(duì)象。例如圖形界面的程序中要接受用戶的創(chuàng)建系統(tǒng)類(lèi)的對(duì)象。例如圖形界面的程序中要接受用戶的輸入時(shí),就可以創(chuàng)建系統(tǒng)類(lèi)輸入時(shí),就可以創(chuàng)建系統(tǒng)類(lèi)TextfieldTextfield類(lèi)的對(duì)象來(lái)完成這個(gè)任務(wù)。類(lèi)的對(duì)象來(lái)完成這個(gè)任務(wù)。 (3 3直接使用系統(tǒng)類(lèi)。例如在字符界面向系統(tǒng)標(biāo)準(zhǔn)輸出輸出字直接使用系統(tǒng)類(lèi)。例如在字符界面向系統(tǒng)標(biāo)準(zhǔn)輸出輸出字符串時(shí)使用的方法即符串時(shí)使用的方法即System.out.Println( )System.out.Println( ),

26、就是系統(tǒng)類(lèi)的一個(gè),就是系統(tǒng)類(lèi)的一個(gè)方法。方法。 使用類(lèi)庫(kù),編寫(xiě)使用類(lèi)庫(kù),編寫(xiě)JavaJava程序時(shí)就不必一切從頭做起絕大多數(shù)用程序時(shí)就不必一切從頭做起絕大多數(shù)用戶也沒(méi)有能力從頭做起),避免了代碼的重復(fù)和可能的錯(cuò)誤,提高戶也沒(méi)有能力從頭做起),避免了代碼的重復(fù)和可能的錯(cuò)誤,提高了編程的效率。用戶程序中系統(tǒng)類(lèi)使用得越多、越準(zhǔn)確,程序的質(zhì)了編程的效率。用戶程序中系統(tǒng)類(lèi)使用得越多、越準(zhǔn)確,程序的質(zhì)量就越高;而離開(kāi)了類(lèi)庫(kù),量就越高;而離開(kāi)了類(lèi)庫(kù),JavaJava程序幾乎寸步難行。所以,要想掌程序幾乎寸步難行。所以,要想掌握好握好JavaJava的面向?qū)ο缶幊?,編?xiě)出高質(zhì)量的程序,必須對(duì)的面向?qū)ο缶幊蹋?/p>

27、寫(xiě)出高質(zhì)量的程序,必須對(duì)JavaJava的類(lèi)的類(lèi)庫(kù)有足夠的了解。庫(kù)有足夠的了解。 3.2.3 3.2.3 使用類(lèi)庫(kù)的方法使用類(lèi)庫(kù)的方法第三章第三章 類(lèi)與對(duì)象類(lèi)與對(duì)象3.3.1 3.3.1 對(duì)象的聲明和實(shí)例化對(duì)象的聲明和實(shí)例化 對(duì)象是類(lèi)的實(shí)例,所以一個(gè)對(duì)象必定屬于一個(gè)已知的類(lèi)。正因?yàn)閷?duì)象是類(lèi)的實(shí)例,所以一個(gè)對(duì)象必定屬于一個(gè)已知的類(lèi)。正因?yàn)榇?,定義一個(gè)對(duì)象之前應(yīng)當(dāng)先聲明對(duì)象的類(lèi)。聲明對(duì)象的格式如下:此,定義一個(gè)對(duì)象之前應(yīng)當(dāng)先聲明對(duì)象的類(lèi)。聲明對(duì)象的格式如下: 類(lèi)名類(lèi)名 對(duì)象名對(duì)象名 對(duì)象的聲明告訴編譯器所聲明對(duì)象所屬的類(lèi),要真正實(shí)例化對(duì)象對(duì)象的聲明告訴編譯器所聲明對(duì)象所屬的類(lèi),要真正實(shí)例化對(duì)象還要

28、使用還要使用newnew運(yùn)算符,具體的格式是:運(yùn)算符,具體的格式是: 對(duì)象名對(duì)象名 = new = new 類(lèi)的構(gòu)造方法類(lèi)的構(gòu)造方法( )( ) 其中類(lèi)的構(gòu)造方法將在其中類(lèi)的構(gòu)造方法將在3.3.33.3.3節(jié)中介紹。例如,在已經(jīng)定義了一節(jié)中介紹。例如,在已經(jīng)定義了一個(gè)個(gè)DateDate類(lèi)的前提下,先用類(lèi)的前提下,先用 Date a Date a 聲明聲明DateDate類(lèi)的一個(gè)對(duì)象類(lèi)的一個(gè)對(duì)象a a,然后使用,然后使用 a = new Date() a = new Date() 調(diào)用調(diào)用DateDate類(lèi)的構(gòu)造方法類(lèi)的構(gòu)造方法Date()Date()實(shí)例化對(duì)象實(shí)例化對(duì)象a a。也可以把這兩個(gè)步

29、。也可以把這兩個(gè)步驟合并在一起,寫(xiě)成以下的形式,其效果是相同的:驟合并在一起,寫(xiě)成以下的形式,其效果是相同的: Date a = new Date() Date a = new Date()3.3 3.3 對(duì)象對(duì)象第三章第三章 類(lèi)與對(duì)象類(lèi)與對(duì)象3.3.2 3.3.2 引用成員變量和調(diào)用成員方法引用成員變量和調(diào)用成員方法 通過(guò)對(duì)象引用類(lèi)的成員變量的格式是對(duì)象名后跟欲引用的變量通過(guò)對(duì)象引用類(lèi)的成員變量的格式是對(duì)象名后跟欲引用的變量名,二者中間用點(diǎn)名,二者中間用點(diǎn)“.”“.”隔開(kāi),即:隔開(kāi),即: 對(duì)象名對(duì)象名. .變量名變量名 通過(guò)對(duì)象引用類(lèi)的成員方法的格式是對(duì)象名后跟欲引用的方法通過(guò)對(duì)象引用類(lèi)的成員方法的格式是對(duì)象名后跟欲引用的方法名加一對(duì)括號(hào),二者中間用點(diǎn)名加一對(duì)括號(hào),二者中間用點(diǎn)“.”“.”隔開(kāi),有的方法需要參數(shù),應(yīng)隔開(kāi),有的方法需要參數(shù),應(yīng)在括號(hào)內(nèi)給出各個(gè)形參,如果不需要參數(shù),也應(yīng)有一對(duì)空的括號(hào)。在括號(hào)內(nèi)給出各個(gè)形參,如果不需

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論