




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)1一、面向?qū)ο蟪绦蛟O(shè)計(jì)定義類:定義類主要分為兩部分:類的聲明和類體類聲明:格式:[類修飾符]class<類名>[extends父類名]
[implements接口列表]類修飾符:可選參數(shù),用于指定類的訪問(wèn)權(quán)限,可選值為public、abstract和final類名:必選參數(shù),用于指定類的名稱,一般情況下,類名首字母大寫(xiě)extends父類名:可選參數(shù),指定要定義的類繼承哪個(gè)父類implements接口列表:可選參數(shù),用于指定該類實(shí)現(xiàn)的是哪些接口網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)1一、面向?qū)ο蟪绦蛟O(shè)計(jì)定義類:網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)2一、面向?qū)ο蟪绦蛟O(shè)計(jì)定義類:類體:其內(nèi)容為類的方法和屬性,即成員變量和成員方法,寫(xiě)在“{}”符號(hào)之間
格式:
[修飾符]class<類名>{
定義成員變量
定義成員方法
}網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)2一、面向?qū)ο蟪绦蛟O(shè)計(jì)定義類:網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)3一、面向?qū)ο蟪绦蛟O(shè)計(jì)成員變量和局部變量:成員變量:在類體中所定義的變量,在整個(gè)類內(nèi)部有效局部變量:在方法體中定義的變量或者是方法的形參變量,只在定義其的方法內(nèi)有效成員變量的分類:分為實(shí)例成員變量(實(shí)例變量)和類成員變量(類變量)兩種,在成員變量定義的前面加上static,則此變量為類成員變量或叫靜態(tài)成員變量成員變量的隱藏:當(dāng)定義的局部變量與成員變量的名字相同時(shí),則成員變量被隱藏,使用的是局部變量要想使用成員變量,可通過(guò)關(guān)鍵字this來(lái)引用網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)3一、面向?qū)ο蟪绦蛟O(shè)計(jì)成員變量和局部變量:網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)4一、面向?qū)ο蟪绦蛟O(shè)計(jì)成員方法:定義格式:
[修飾符]<方法返回值類型>方法名([參數(shù)列表])
修飾符:可選參數(shù),用于指定方法的訪問(wèn)權(quán)限,可選值為public、protected和private方法返回值類型:可選參數(shù),用于指定方法的返回值類型;如果方法沒(méi)有返回值,可以使用void關(guān)鍵字進(jìn)行標(biāo)識(shí)參數(shù)列表:可選參數(shù),用于指定方法中所需的參數(shù)方法體:可選參數(shù),是方法的實(shí)現(xiàn)部分,在方法體中可以定義局部變量網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)4一、面向?qū)ο蟪绦蛟O(shè)計(jì)成員方法:網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)5一、面向?qū)ο蟪绦蛟O(shè)計(jì)成員方法:方法的重載:重載:是指一個(gè)類中有多個(gè)成員方法具有相同的名字,但為些方法的參數(shù)必須不同,不同之處可以是參數(shù)類型和參數(shù)數(shù)量重載只與方法的參數(shù)類型和數(shù)量有關(guān),與方法的返回值類型無(wú)關(guān)
構(gòu)造方法:構(gòu)造方法是一種特殊的方法,名字必須與類名完全相同,并且不返回任何數(shù)據(jù)類型一個(gè)類中,可以有多個(gè)構(gòu)造方法,也可以沒(méi)有構(gòu)造方法網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)5一、面向?qū)ο蟪绦蛟O(shè)計(jì)成員方法:網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)6一、面向?qū)ο蟪绦蛟O(shè)計(jì)成員方法:方法中參數(shù)的傳遞:按值傳遞:在這種方法中,把參數(shù)的值復(fù)制后要傳遞給形參,方法中對(duì)形參的改變不會(huì)影響實(shí)參的值按引用傳遞:將一個(gè)實(shí)參的引用(不是參數(shù)的值)傳遞給形參,方法對(duì)參數(shù)的改變會(huì)影響實(shí)參的值將一個(gè)對(duì)象作為參數(shù)傳遞給方法時(shí),是按引用傳遞的網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)6一、面向?qū)ο蟪绦蛟O(shè)計(jì)成員方法:網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)7一、面向?qū)ο蟪绦蛟O(shè)計(jì)類對(duì)象的創(chuàng)建、使用:對(duì)象的聲明:
格式類名對(duì)象名為對(duì)象分配內(nèi)存:使用new運(yùn)算符和類的構(gòu)造方法為聲明的對(duì)象分配內(nèi)存
格式對(duì)象名=new類名()對(duì)象的聲明和內(nèi)存分配可以一起使用
格式類名對(duì)象名=new類名()對(duì)象的使用:通過(guò)對(duì)象和“.”運(yùn)算符可以引用對(duì)象的成員變量和成員方法網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)7一、面向?qū)ο蟪绦蛟O(shè)計(jì)類對(duì)象的創(chuàng)建、使用:網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)8一、面向?qū)ο蟪绦蛟O(shè)計(jì)包:包是類的容器或集合,其將一組類集中到一起定義格式:package包名引入包中的類:Java使用import語(yǔ)句引入包中的類,在一個(gè)程序中可以有多個(gè)import語(yǔ)句
格式:
import包名.類名;
import包名.*格式1:引入指定包中的指定類格式2:引入指定包中的所有類java.lang包是Java語(yǔ)言的核心類庫(kù),包含了運(yùn)行Java程序必不可少的系統(tǒng)類,系統(tǒng)會(huì)自動(dòng)引入java.lang網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)8一、面向?qū)ο蟪绦蛟O(shè)計(jì)包:網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)9一、面向?qū)ο蟪绦蛟O(shè)計(jì)類變量和方法的訪問(wèn)權(quán)限:在類變量和方法被定義時(shí),可以使用修飾符來(lái)指定變量和方法的訪問(wèn)權(quán)限。Java有4種類型的訪問(wèn)權(quán)限約束符公有類型變量和方法:定義時(shí)用public修飾權(quán)限:可以被同一個(gè)類、子類、同一包中的類、不同包中的類訪問(wèn)
受保護(hù)類型變量和方法:定義時(shí)用protected修飾權(quán)限:可以被同一個(gè)類、子類、同一個(gè)包中的類訪問(wèn),在不同包中,若一個(gè)類是另一個(gè)包的類的子類,則子類會(huì)繼承父類的protected成員變量和方法網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)9一、面向?qū)ο蟪绦蛟O(shè)計(jì)類變量和方法的訪問(wèn)權(quán)限網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)10一、面向?qū)ο蟪绦蛟O(shè)計(jì)類變量和方法的訪問(wèn)權(quán)限:私有類型變量和方法:定義時(shí)用private修飾權(quán)限:只能在本類中使用,在子類、同一包中的類、不同包中的類不允許訪問(wèn)友好類型變量和方法:定義時(shí)無(wú)修飾權(quán)限:可以被同一個(gè)類、子類、同一個(gè)包中的類訪問(wèn),在不同包中的類,不能訪問(wèn)網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)10一、面向?qū)ο蟪绦蛟O(shè)計(jì)類變量和方法的訪問(wèn)權(quán)網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)11一、面向?qū)ο蟪绦蛟O(shè)計(jì)類的繼承:創(chuàng)建子類:格式:class子類extends父類
繼承成員變量和方法:繼承在父類和子類之間建立了聯(lián)系,子類自動(dòng)擁有父類的全部成員,包括成員變量和成員方法子類和父類在同一個(gè)包中:子類可繼承父類中的public、protected和友好類型的成員變量和方法;不能繼承private型的成員變量和方法子類和父類不在同一個(gè)包中:子類可繼承父類中的public、protected的成員變量和方法;不能繼承友好型和private型的成員變量和方法網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)11一、面向?qū)ο蟪绦蛟O(shè)計(jì)類的繼承:網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)12一、面向?qū)ο蟪绦蛟O(shè)計(jì)覆蓋:覆蓋是指子類擁有父類相同的成員:成員變量的覆蓋:子類中定義的成員變量和父類中的成員變量同名成員方法的覆蓋:子類中定義的成員方法和父類中的成員方法在方法名、返回類型、參數(shù)個(gè)數(shù)及類型方面都相同
覆蓋的目的:在于通過(guò)在子類中重新定義變量和方法來(lái)擴(kuò)展父類的功能:網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)12一、面向?qū)ο蟪绦蛟O(shè)計(jì)覆蓋:網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)13一、面向?qū)ο蟪绦蛟O(shè)計(jì)覆蓋:覆蓋要遵循的規(guī)則:覆蓋方法的返回值類型:與它所覆蓋的方法相同覆蓋方法的參數(shù)類型和參數(shù)個(gè)數(shù):與它所覆蓋的方法相同覆蓋方法不能比其所覆蓋的方法訪問(wèn)權(quán)限差覆蓋方法不能比它所覆蓋的方法拋出更多的異常類的多態(tài)性多態(tài)是建立在繼承之上的,當(dāng)方法被不同的對(duì)象調(diào)用時(shí),能產(chǎn)生不同的行為,這種現(xiàn)象稱為多態(tài)網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)13一、面向?qū)ο蟪绦蛟O(shè)計(jì)覆蓋:網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)14一、面向?qū)ο蟪绦蛟O(shè)計(jì)抽象類:抽象類:是Java中的一種特殊類,抽象類不能創(chuàng)建對(duì)象,只能由其派生子類,抽象類是專門(mén)用來(lái)作為其他類的父類使用的抽象方法:只有方法的聲明,沒(méi)有方法的具體實(shí)現(xiàn)抽象類的定義格式:abstractclass類名抽象方法的定義格式:abstract返回類型方法名()抽象類必須作為其他類的父類,并且子類要全部實(shí)現(xiàn)父類中的抽象方法網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)14一、面向?qū)ο蟪绦蛟O(shè)計(jì)抽象類:網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)15一、面向?qū)ο蟪绦蛟O(shè)計(jì)接口:Java中的類不支持多重繼承。而為了實(shí)現(xiàn)多重繼承的功能,Java通過(guò)實(shí)現(xiàn)多個(gè)接口來(lái)完成接口的定義格式:interface接口名
{
//接口體中的變量和方法
}在Java接口中,所有的方法都是抽象方法(關(guān)鍵字abstract可以省略),所有的變量都是static常量(關(guān)鍵字static和final可以省略)網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)15一、面向?qū)ο蟪绦蛟O(shè)計(jì)接口:網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)16一、面向?qū)ο蟪绦蛟O(shè)計(jì)接口:接口的使用格式:class類名implements接口1,接口2,…說(shuō)明:接口中的方法全部是抽象方法,類必須要實(shí)現(xiàn)接口中的所有方法,方法中的名字、返回類型、參數(shù)個(gè)數(shù)及類型必須和接口的完全一致
接口的繼承:利用extends,一個(gè)接口可以繼承另一個(gè)接口格式:interface接口1extends接口2當(dāng)一個(gè)類實(shí)現(xiàn)一個(gè)繼承的接口時(shí),則此類必須要實(shí)現(xiàn)所有接口中的方法網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)16一、面向?qū)ο蟪绦蛟O(shè)計(jì)接口:網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)17一、面向?qū)ο蟪绦蛟O(shè)計(jì)和類相關(guān)的其他關(guān)鍵字和修飾符:final修飾符final修飾類:說(shuō)明該類為最終類,不能被作為父類進(jìn)行繼承final修飾變量:說(shuō)明該變量是最終變量,即常量,常量定義時(shí),必須為其賦一個(gè)初始值
格式:final數(shù)據(jù)類型常量名=初值
final修飾方法:說(shuō)明該方法為最終方法,繼承的子類不能覆蓋該最終方法,即子類不能對(duì)父類的最終方法進(jìn)行修改網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)17一、面向?qū)ο蟪绦蛟O(shè)計(jì)和類相關(guān)的其他關(guān)鍵字網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)18一、面向?qū)ο蟪绦蛟O(shè)計(jì)和類相關(guān)的其他關(guān)鍵字和修飾符:static修飾符靜態(tài)變量、類變量:用static修飾成員變量類變量和實(shí)例變量的區(qū)別:類變量屬于類,實(shí)例變量屬于類的對(duì)象類變量對(duì)于所有類對(duì)象,共享同一個(gè)內(nèi)存空間,不同對(duì)象的實(shí)例變量被分配到不同內(nèi)存空間實(shí)例變量屬于對(duì)象,必須通過(guò)對(duì)象訪問(wèn);類變量屬于類,既可以通過(guò)對(duì)象,也可以通過(guò)類訪問(wèn)網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)18一、面向?qū)ο蟪绦蛟O(shè)計(jì)和類相關(guān)的其他關(guān)鍵字網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)19一、面向?qū)ο蟪绦蛟O(shè)計(jì)和類相關(guān)的其他關(guān)鍵字和修飾符:static修飾符靜態(tài)方法、類方法:用static修飾成員方法類方法和實(shí)例方法的區(qū)別:類方法在類被加載到內(nèi)存時(shí),就被分配內(nèi)存空間;而實(shí)例方法只有生成類對(duì)象時(shí),才能分配內(nèi)存空間類方法在程序結(jié)束時(shí)消失,實(shí)例方法隨類對(duì)象的存在而存在實(shí)例方法屬于對(duì)象,必須通過(guò)對(duì)象訪問(wèn);類方法屬于類,既可以通過(guò)對(duì)象,也可以通過(guò)類訪問(wèn)類方法中不允許使用類中的實(shí)例變量,只能使用類變量;而實(shí)例方法既可以使用類變量,也可以使用實(shí)例變量網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)19一、面向?qū)ο蟪绦蛟O(shè)計(jì)和類相關(guān)的其他關(guān)鍵字網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)20二、流程控制語(yǔ)句分支語(yǔ)句If…else語(yǔ)句:If(條件表達(dá)式)
{語(yǔ)句序列1;}
else
{語(yǔ)句序列2;}Switch語(yǔ)句:Swithc(表達(dá)式){
case常量表達(dá)式1:語(yǔ)句序列1
[break;]
case常量表達(dá)式2:語(yǔ)句序列2
[break;]
…
case常量表達(dá)式n:語(yǔ)句序列n+1
[break;]}網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)20二、流程控制語(yǔ)句分支語(yǔ)句網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)21二、流程控制語(yǔ)句循環(huán)語(yǔ)句for語(yǔ)句:for(初始表達(dá)式;條件表達(dá)式;迭代語(yǔ)句)
{語(yǔ)句序列;}while語(yǔ)句:while(條件表達(dá)式){
語(yǔ)句序列}do…while語(yǔ)句:do{語(yǔ)句序列
}while(條件表達(dá)式)網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)21二、流程控制語(yǔ)句循環(huán)語(yǔ)句網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)22三、數(shù)組一維數(shù)組定義:格式1:數(shù)據(jù)類型[]數(shù)組名=new數(shù)據(jù)類型[個(gè)數(shù)];格式2:數(shù)據(jù)類型數(shù)組名[]=new數(shù)據(jù)類型[個(gè)數(shù)];數(shù)組的賦值格式1:數(shù)據(jù)類型數(shù)組名[]={數(shù)值1,數(shù)值2,…}格式2:數(shù)據(jù)類型[]數(shù)組名={數(shù)值1,數(shù)值2,…}二維數(shù)組:定義:數(shù)據(jù)類型數(shù)組名[][]=new數(shù)據(jù)類型[數(shù)1][數(shù)2]
數(shù)組的length屬性:求數(shù)組的長(zhǎng)度:網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)22三、數(shù)組一維數(shù)組網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)23四、字符串字符串類String:初始化后不能改變StringBuffer:字符串的內(nèi)容可以動(dòng)態(tài)改變String類字符串的初始化:用賦值運(yùn)算符:String變量名=“”用構(gòu)造方法:生成空的字符串:String()用string生成:String(string)用byte類型或char類型數(shù)組生成:String(byte[])String(char[])用byte類型或char類型數(shù)組的部分元素生成:String(byte[],intstartpos,intlength)網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)23四、字符串字符串類網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)24四、字符串String類字符串的常用方法:intlength():返回字符串的長(zhǎng)度(字符數(shù))intindexOf(string):返回指定字符串的索引位置intlastindexOf(string):最后一次出現(xiàn)的位置booleanstartsWith(string):前子串判定booleanendsWith(string):后子串判定booleanequals(string):比較兩個(gè)字符串是否相等booleanequalsIgnoreCase(String):不考慮大小寫(xiě)Stringtrim():刪除前導(dǎo)和尾部空格Stringsubstring(intbeginpos,intendpos):取子串StringtoLowCase(string):轉(zhuǎn)換為小寫(xiě)StringtoUpperCase(string):轉(zhuǎn)換為大寫(xiě)Stringreplace(charold,new):子串替換網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)24四、字符串String類字符串的常用方法網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)25四、字符串StringBuffer類字符串的初始化:用構(gòu)造方法:StringBuffer()StringBuffer(intlength)StringBuffer(Stringstring)StringBuffer類的常用方法:StringBufferappend():添加字符StringBufferinsert(intoffset,Stringstr):插入字符StringBuffersubstring(intstart,intend):取子串StringBufferreplace(intstart,intend,Stringstring):子串替換StringBufferreverse():字符串反轉(zhuǎn)網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)25四、字符串StringBuffer類字符網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)26四、字符串StringBuffer類的常用方法:StringBufferdelete(intstart,intend):刪除字符StringBufferdeleteCharAt(intindex):刪除指定位置的字符intlength():串字符長(zhǎng)度intcapacity():字符緩沖區(qū)的長(zhǎng)度StringtoString():StringBuffer轉(zhuǎn)化為String網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)26四、字符串StringBuffer類的常網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)27五、日期時(shí)間類Date類:構(gòu)造方法:Date()Calendar類:Calendar類是一個(gè)抽象類,要通過(guò)Calendar.getInstance()這個(gè)靜態(tài)方法來(lái)返回一個(gè)對(duì)象
格式:Calendar對(duì)象名=Calendar.getInstance()Calendar類主要用于完成日期字段(年月日時(shí)分秒)之間的相互操作常用方法:get(intfield):獲取年月日時(shí)分秒set(intyear,intmonth,intdate):設(shè)置日期getTime():Calendar對(duì)象轉(zhuǎn)化為Date對(duì)象網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)27五、日期時(shí)間類Date類:網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)28五、日期時(shí)間類SimpleDateFormat類:構(gòu)造方法:SimpleDateFormat(Stringstring)SimpleDateformat類用于把Date對(duì)象中的日期進(jìn)行格式化,或者將日期時(shí)間字符串轉(zhuǎn)換為Date對(duì)象常用方法:format(Datedate):格式化輸出日期時(shí)間字符串parse(Stringstring):根據(jù)格式將字符串轉(zhuǎn)化為Date對(duì)象網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)28五、日期時(shí)間類SimpleDateFor網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)29六、數(shù)學(xué)類Math類:常用方法:靜態(tài)方法Math.abs(doublex):返回x的絕對(duì)值Math.ceil(doublex):返回大于等于x的最小整數(shù)Math.floor(doublex):返回小于等于x的最大整數(shù)Math.max(doublex,doubley):返回最大值Math.min(doublex,doubley):返回最小值Math.random():返回0—1之間的隨機(jī)數(shù)Math.round(doublex):返回x的四舍五入值Math.sqrt(doublex):返回x的平方根網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)29六、數(shù)學(xué)類Math類:網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)30六、包裝類Java為每個(gè)基本類型都提供了包裝類:int---Integershort---Shortbyte---Bytelong---Longfloat---Floatdouble---Doubleboolean---Boolean常用方法:toString():轉(zhuǎn)化為String對(duì)象parseInt(Stringstring):從字符串中提取整數(shù)值網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)30六、包裝類Java為每個(gè)基本類型都提供了網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)31一、面向?qū)ο蟪绦蛟O(shè)計(jì)定義類:定義類主要分為兩部分:類的聲明和類體類聲明:格式:[類修飾符]class<類名>[extends父類名]
[implements接口列表]類修飾符:可選參數(shù),用于指定類的訪問(wèn)權(quán)限,可選值為public、abstract和final類名:必選參數(shù),用于指定類的名稱,一般情況下,類名首字母大寫(xiě)extends父類名:可選參數(shù),指定要定義的類繼承哪個(gè)父類implements接口列表:可選參數(shù),用于指定該類實(shí)現(xiàn)的是哪些接口網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)1一、面向?qū)ο蟪绦蛟O(shè)計(jì)定義類:網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)32一、面向?qū)ο蟪绦蛟O(shè)計(jì)定義類:類體:其內(nèi)容為類的方法和屬性,即成員變量和成員方法,寫(xiě)在“{}”符號(hào)之間
格式:
[修飾符]class<類名>{
定義成員變量
定義成員方法
}網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)2一、面向?qū)ο蟪绦蛟O(shè)計(jì)定義類:網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)33一、面向?qū)ο蟪绦蛟O(shè)計(jì)成員變量和局部變量:成員變量:在類體中所定義的變量,在整個(gè)類內(nèi)部有效局部變量:在方法體中定義的變量或者是方法的形參變量,只在定義其的方法內(nèi)有效成員變量的分類:分為實(shí)例成員變量(實(shí)例變量)和類成員變量(類變量)兩種,在成員變量定義的前面加上static,則此變量為類成員變量或叫靜態(tài)成員變量成員變量的隱藏:當(dāng)定義的局部變量與成員變量的名字相同時(shí),則成員變量被隱藏,使用的是局部變量要想使用成員變量,可通過(guò)關(guān)鍵字this來(lái)引用網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)3一、面向?qū)ο蟪绦蛟O(shè)計(jì)成員變量和局部變量:網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)34一、面向?qū)ο蟪绦蛟O(shè)計(jì)成員方法:定義格式:
[修飾符]<方法返回值類型>方法名([參數(shù)列表])
修飾符:可選參數(shù),用于指定方法的訪問(wèn)權(quán)限,可選值為public、protected和private方法返回值類型:可選參數(shù),用于指定方法的返回值類型;如果方法沒(méi)有返回值,可以使用void關(guān)鍵字進(jìn)行標(biāo)識(shí)參數(shù)列表:可選參數(shù),用于指定方法中所需的參數(shù)方法體:可選參數(shù),是方法的實(shí)現(xiàn)部分,在方法體中可以定義局部變量網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)4一、面向?qū)ο蟪绦蛟O(shè)計(jì)成員方法:網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)35一、面向?qū)ο蟪绦蛟O(shè)計(jì)成員方法:方法的重載:重載:是指一個(gè)類中有多個(gè)成員方法具有相同的名字,但為些方法的參數(shù)必須不同,不同之處可以是參數(shù)類型和參數(shù)數(shù)量重載只與方法的參數(shù)類型和數(shù)量有關(guān),與方法的返回值類型無(wú)關(guān)
構(gòu)造方法:構(gòu)造方法是一種特殊的方法,名字必須與類名完全相同,并且不返回任何數(shù)據(jù)類型一個(gè)類中,可以有多個(gè)構(gòu)造方法,也可以沒(méi)有構(gòu)造方法網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)5一、面向?qū)ο蟪绦蛟O(shè)計(jì)成員方法:網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)36一、面向?qū)ο蟪绦蛟O(shè)計(jì)成員方法:方法中參數(shù)的傳遞:按值傳遞:在這種方法中,把參數(shù)的值復(fù)制后要傳遞給形參,方法中對(duì)形參的改變不會(huì)影響實(shí)參的值按引用傳遞:將一個(gè)實(shí)參的引用(不是參數(shù)的值)傳遞給形參,方法對(duì)參數(shù)的改變會(huì)影響實(shí)參的值將一個(gè)對(duì)象作為參數(shù)傳遞給方法時(shí),是按引用傳遞的網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)6一、面向?qū)ο蟪绦蛟O(shè)計(jì)成員方法:網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)37一、面向?qū)ο蟪绦蛟O(shè)計(jì)類對(duì)象的創(chuàng)建、使用:對(duì)象的聲明:
格式類名對(duì)象名為對(duì)象分配內(nèi)存:使用new運(yùn)算符和類的構(gòu)造方法為聲明的對(duì)象分配內(nèi)存
格式對(duì)象名=new類名()對(duì)象的聲明和內(nèi)存分配可以一起使用
格式類名對(duì)象名=new類名()對(duì)象的使用:通過(guò)對(duì)象和“.”運(yùn)算符可以引用對(duì)象的成員變量和成員方法網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)7一、面向?qū)ο蟪绦蛟O(shè)計(jì)類對(duì)象的創(chuàng)建、使用:網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)38一、面向?qū)ο蟪绦蛟O(shè)計(jì)包:包是類的容器或集合,其將一組類集中到一起定義格式:package包名引入包中的類:Java使用import語(yǔ)句引入包中的類,在一個(gè)程序中可以有多個(gè)import語(yǔ)句
格式:
import包名.類名;
import包名.*格式1:引入指定包中的指定類格式2:引入指定包中的所有類java.lang包是Java語(yǔ)言的核心類庫(kù),包含了運(yùn)行Java程序必不可少的系統(tǒng)類,系統(tǒng)會(huì)自動(dòng)引入java.lang網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)8一、面向?qū)ο蟪绦蛟O(shè)計(jì)包:網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)39一、面向?qū)ο蟪绦蛟O(shè)計(jì)類變量和方法的訪問(wèn)權(quán)限:在類變量和方法被定義時(shí),可以使用修飾符來(lái)指定變量和方法的訪問(wèn)權(quán)限。Java有4種類型的訪問(wèn)權(quán)限約束符公有類型變量和方法:定義時(shí)用public修飾權(quán)限:可以被同一個(gè)類、子類、同一包中的類、不同包中的類訪問(wèn)
受保護(hù)類型變量和方法:定義時(shí)用protected修飾權(quán)限:可以被同一個(gè)類、子類、同一個(gè)包中的類訪問(wèn),在不同包中,若一個(gè)類是另一個(gè)包的類的子類,則子類會(huì)繼承父類的protected成員變量和方法網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)9一、面向?qū)ο蟪绦蛟O(shè)計(jì)類變量和方法的訪問(wèn)權(quán)限網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)40一、面向?qū)ο蟪绦蛟O(shè)計(jì)類變量和方法的訪問(wèn)權(quán)限:私有類型變量和方法:定義時(shí)用private修飾權(quán)限:只能在本類中使用,在子類、同一包中的類、不同包中的類不允許訪問(wèn)友好類型變量和方法:定義時(shí)無(wú)修飾權(quán)限:可以被同一個(gè)類、子類、同一個(gè)包中的類訪問(wèn),在不同包中的類,不能訪問(wèn)網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)10一、面向?qū)ο蟪绦蛟O(shè)計(jì)類變量和方法的訪問(wèn)權(quán)網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)41一、面向?qū)ο蟪绦蛟O(shè)計(jì)類的繼承:創(chuàng)建子類:格式:class子類extends父類
繼承成員變量和方法:繼承在父類和子類之間建立了聯(lián)系,子類自動(dòng)擁有父類的全部成員,包括成員變量和成員方法子類和父類在同一個(gè)包中:子類可繼承父類中的public、protected和友好類型的成員變量和方法;不能繼承private型的成員變量和方法子類和父類不在同一個(gè)包中:子類可繼承父類中的public、protected的成員變量和方法;不能繼承友好型和private型的成員變量和方法網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)11一、面向?qū)ο蟪绦蛟O(shè)計(jì)類的繼承:網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)42一、面向?qū)ο蟪绦蛟O(shè)計(jì)覆蓋:覆蓋是指子類擁有父類相同的成員:成員變量的覆蓋:子類中定義的成員變量和父類中的成員變量同名成員方法的覆蓋:子類中定義的成員方法和父類中的成員方法在方法名、返回類型、參數(shù)個(gè)數(shù)及類型方面都相同
覆蓋的目的:在于通過(guò)在子類中重新定義變量和方法來(lái)擴(kuò)展父類的功能:網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)12一、面向?qū)ο蟪绦蛟O(shè)計(jì)覆蓋:網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)43一、面向?qū)ο蟪绦蛟O(shè)計(jì)覆蓋:覆蓋要遵循的規(guī)則:覆蓋方法的返回值類型:與它所覆蓋的方法相同覆蓋方法的參數(shù)類型和參數(shù)個(gè)數(shù):與它所覆蓋的方法相同覆蓋方法不能比其所覆蓋的方法訪問(wèn)權(quán)限差覆蓋方法不能比它所覆蓋的方法拋出更多的異常類的多態(tài)性多態(tài)是建立在繼承之上的,當(dāng)方法被不同的對(duì)象調(diào)用時(shí),能產(chǎn)生不同的行為,這種現(xiàn)象稱為多態(tài)網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)13一、面向?qū)ο蟪绦蛟O(shè)計(jì)覆蓋:網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)44一、面向?qū)ο蟪绦蛟O(shè)計(jì)抽象類:抽象類:是Java中的一種特殊類,抽象類不能創(chuàng)建對(duì)象,只能由其派生子類,抽象類是專門(mén)用來(lái)作為其他類的父類使用的抽象方法:只有方法的聲明,沒(méi)有方法的具體實(shí)現(xiàn)抽象類的定義格式:abstractclass類名抽象方法的定義格式:abstract返回類型方法名()抽象類必須作為其他類的父類,并且子類要全部實(shí)現(xiàn)父類中的抽象方法網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)14一、面向?qū)ο蟪绦蛟O(shè)計(jì)抽象類:網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)45一、面向?qū)ο蟪绦蛟O(shè)計(jì)接口:Java中的類不支持多重繼承。而為了實(shí)現(xiàn)多重繼承的功能,Java通過(guò)實(shí)現(xiàn)多個(gè)接口來(lái)完成接口的定義格式:interface接口名
{
//接口體中的變量和方法
}在Java接口中,所有的方法都是抽象方法(關(guān)鍵字abstract可以省略),所有的變量都是static常量(關(guān)鍵字static和final可以省略)網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)15一、面向?qū)ο蟪绦蛟O(shè)計(jì)接口:網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)46一、面向?qū)ο蟪绦蛟O(shè)計(jì)接口:接口的使用格式:class類名implements接口1,接口2,…說(shuō)明:接口中的方法全部是抽象方法,類必須要實(shí)現(xiàn)接口中的所有方法,方法中的名字、返回類型、參數(shù)個(gè)數(shù)及類型必須和接口的完全一致
接口的繼承:利用extends,一個(gè)接口可以繼承另一個(gè)接口格式:interface接口1extends接口2當(dāng)一個(gè)類實(shí)現(xiàn)一個(gè)繼承的接口時(shí),則此類必須要實(shí)現(xiàn)所有接口中的方法網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)16一、面向?qū)ο蟪绦蛟O(shè)計(jì)接口:網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)47一、面向?qū)ο蟪绦蛟O(shè)計(jì)和類相關(guān)的其他關(guān)鍵字和修飾符:final修飾符final修飾類:說(shuō)明該類為最終類,不能被作為父類進(jìn)行繼承final修飾變量:說(shuō)明該變量是最終變量,即常量,常量定義時(shí),必須為其賦一個(gè)初始值
格式:final數(shù)據(jù)類型常量名=初值
final修飾方法:說(shuō)明該方法為最終方法,繼承的子類不能覆蓋該最終方法,即子類不能對(duì)父類的最終方法進(jìn)行修改網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)17一、面向?qū)ο蟪绦蛟O(shè)計(jì)和類相關(guān)的其他關(guān)鍵字網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)48一、面向?qū)ο蟪绦蛟O(shè)計(jì)和類相關(guān)的其他關(guān)鍵字和修飾符:static修飾符靜態(tài)變量、類變量:用static修飾成員變量類變量和實(shí)例變量的區(qū)別:類變量屬于類,實(shí)例變量屬于類的對(duì)象類變量對(duì)于所有類對(duì)象,共享同一個(gè)內(nèi)存空間,不同對(duì)象的實(shí)例變量被分配到不同內(nèi)存空間實(shí)例變量屬于對(duì)象,必須通過(guò)對(duì)象訪問(wèn);類變量屬于類,既可以通過(guò)對(duì)象,也可以通過(guò)類訪問(wèn)網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)18一、面向?qū)ο蟪绦蛟O(shè)計(jì)和類相關(guān)的其他關(guān)鍵字網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)49一、面向?qū)ο蟪绦蛟O(shè)計(jì)和類相關(guān)的其他關(guān)鍵字和修飾符:static修飾符靜態(tài)方法、類方法:用static修飾成員方法類方法和實(shí)例方法的區(qū)別:類方法在類被加載到內(nèi)存時(shí),就被分配內(nèi)存空間;而實(shí)例方法只有生成類對(duì)象時(shí),才能分配內(nèi)存空間類方法在程序結(jié)束時(shí)消失,實(shí)例方法隨類對(duì)象的存在而存在實(shí)例方法屬于對(duì)象,必須通過(guò)對(duì)象訪問(wèn);類方法屬于類,既可以通過(guò)對(duì)象,也可以通過(guò)類訪問(wèn)類方法中不允許使用類中的實(shí)例變量,只能使用類變量;而實(shí)例方法既可以使用類變量,也可以使用實(shí)例變量網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)19一、面向?qū)ο蟪绦蛟O(shè)計(jì)和類相關(guān)的其他關(guān)鍵字網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)50二、流程控制語(yǔ)句分支語(yǔ)句If…else語(yǔ)句:If(條件表達(dá)式)
{語(yǔ)句序列1;}
else
{語(yǔ)句序列2;}Switch語(yǔ)句:Swithc(表達(dá)式){
case常量表達(dá)式1:語(yǔ)句序列1
[break;]
case常量表達(dá)式2:語(yǔ)句序列2
[break;]
…
case常量表達(dá)式n:語(yǔ)句序列n+1
[break;]}網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)20二、流程控制語(yǔ)句分支語(yǔ)句網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)51二、流程控制語(yǔ)句循環(huán)語(yǔ)句for語(yǔ)句:for(初始表達(dá)式;條件表達(dá)式;迭代語(yǔ)句)
{語(yǔ)句序列;}while語(yǔ)句:while(條件表達(dá)式){
語(yǔ)句序列}do…while語(yǔ)句:do{語(yǔ)句序列
}while(條件表達(dá)式)網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)21二、流程控制語(yǔ)句循環(huán)語(yǔ)句網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)52三、數(shù)組一維數(shù)組定義:格式1:數(shù)據(jù)類型[]數(shù)組名=new數(shù)據(jù)類型[個(gè)數(shù)];格式2:數(shù)據(jù)類型數(shù)組名[]=new數(shù)據(jù)類型[個(gè)數(shù)];數(shù)組的賦值格式1:數(shù)據(jù)類型數(shù)組名[]={數(shù)值1,數(shù)值2,…}格式2:數(shù)據(jù)類型[]數(shù)組名={數(shù)值1,數(shù)值2,…}二維數(shù)組:定義:數(shù)據(jù)類型數(shù)組名[][]=new數(shù)據(jù)類型[數(shù)1][數(shù)2]
數(shù)組的length屬性:求數(shù)組的長(zhǎng)度:網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)22三、數(shù)組一維數(shù)組網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)53四、字符串字符串類String:初始化后不能改變StringBuffer:字符串的內(nèi)容可以動(dòng)態(tài)改變String類字符串的初始化:用賦值運(yùn)算符:String變量名=“”用構(gòu)造方法:生成空的字符串:String()用string生成:String(string)用byte類型或char類型數(shù)組生成:String(byte[])String(char[])用byte類型或char類型數(shù)組的部分元素生成:String(byte[],intstartpos,intlength)網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)23四、字符串字符串類網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)54四、字符串String類字符串的常用方法:intlength():返回字符串的長(zhǎng)度(字符數(shù))intindexOf(string):返回指定字符串的索引位置intlastindexOf(string):最后一次出現(xiàn)的位置booleanstartsWith(string):前子串判定booleanendsWith(string):后子串判定booleanequals(string):比較兩個(gè)字符串是否相等booleanequalsIgnoreCase(String):不考慮大小寫(xiě)Stringtrim():刪除前導(dǎo)和尾部空格Stringsubstring(intbeginpos,intendpos):取子串StringtoLowCase(string):轉(zhuǎn)換為小寫(xiě)StringtoUpperCase(string):轉(zhuǎn)換為大寫(xiě)Stringreplace(charold,new):子串替換網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)24四、字符串String類字符串的常用方法網(wǎng)絡(luò)軟件開(kāi)發(fā)技術(shù)55四、字符串StringBuffer類字符串的初始化:用構(gòu)造方法:StringBuffer()StringBuffer(intlength)StringBuffer(Stringstring)StringBuffer類的常用方法:StringBufferappend():添加字符StringBufferinsert(intoff
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 第38屆全國(guó)中學(xué)生物理競(jìng)賽(揚(yáng)州福建賽區(qū))復(fù)賽理論試題
- 2021年全國(guó)中學(xué)生數(shù)學(xué)奧林匹克競(jìng)賽(初賽)暨 2021全國(guó)高中數(shù)學(xué)聯(lián)合競(jìng)賽一試(B卷)參考答案及評(píng)分標(biāo)準(zhǔn)
- 售房欠款協(xié)議書(shū)范本
- 槽鋼出租租賃合同協(xié)議
- 快遞代收貨款協(xié)議合同
- 商場(chǎng)門(mén)店售賣(mài)合同協(xié)議
- 商場(chǎng)產(chǎn)品銷售合同協(xié)議
- 2025年度建筑項(xiàng)目總監(jiān)勞動(dòng)合同
- 德國(guó)房子轉(zhuǎn)租合同協(xié)議
- 2025標(biāo)準(zhǔn)飲料供貨合同范本
- 2025-2030串番茄行業(yè)市場(chǎng)發(fā)展分析及前景趨勢(shì)與投資研究報(bào)告
- 安徽省滁州市皖南八校2024-2025學(xué)年高一下學(xué)期4月期中化學(xué)試題(含答案)
- 北京市公園管理中心所屬事業(yè)單位招聘筆試真題2024
- 浙江省紹興市2025屆高三下學(xué)期二模試題 數(shù)學(xué) 含解析
- 地球物理反演方法-全面剖析
- 2024年秋江蘇開(kāi)放大學(xué)計(jì)算機(jī)應(yīng)用基礎(chǔ)060019期末理論測(cè)試(綜合測(cè)試在線答題) 參考答案
- DBJ33-T?1152-2025 《建筑工程建筑面積計(jì)算和竣工綜合測(cè)量技術(shù)規(guī)程》
- 銀行網(wǎng)絡(luò)安全
- 廣東省深圳市2024年中考化學(xué)二模試卷(含答案)
- 2025年江蘇省糧食集團(tuán)有限責(zé)任公司招聘筆試參考題庫(kù)含答案解析
- 保險(xiǎn)行業(yè)客戶畫(huà)像分析方案
評(píng)論
0/150
提交評(píng)論