14_Java面向?qū)ο骭第6天(Eclipse高級(jí)、類與接口作為參數(shù)返回值)_講義_第1頁(yè)
14_Java面向?qū)ο骭第6天(Eclipse高級(jí)、類與接口作為參數(shù)返回值)_講義_第2頁(yè)
14_Java面向?qū)ο骭第6天(Eclipse高級(jí)、類與接口作為參數(shù)返回值)_講義_第3頁(yè)
14_Java面向?qū)ο骭第6天(Eclipse高級(jí)、類與接口作為參數(shù)返回值)_講義_第4頁(yè)
14_Java面向?qū)ο骭第6天(Eclipse高級(jí)、類與接口作為參數(shù)返回值)_講義_第5頁(yè)
已閱讀5頁(yè),還剩10頁(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)介

傳智播客專注于Java、.Net和Php、網(wǎng)頁(yè)平面設(shè)計(jì)工程師的培訓(xùn)第14天面向?qū)ο蠼袢諆?nèi)容介紹u Eclipse常用快捷鍵操作u Eclipse文檔注釋導(dǎo)出幫助文檔u Eclipse項(xiàng)目的jar包導(dǎo)出與使用jar包u 不同修飾符混合使用細(xì)節(jié)u 辨析何時(shí)定義變量為成員變量u 類、抽象類、接口作為方法參數(shù)u 類、抽象類、接口作為方法返回值第1章 Eclipse的應(yīng)用1.1 常用快捷操作l Ctrl+T:查看所選中類的繼承樹(shù)例如,在下面代碼中,選中Teacher類名,然后按Ctrl+T,就會(huì)顯示出Teacher類的繼承關(guān)系/員工 abstract class Employeepublic abstract void work();/講師class Teacher extends Employee public void work() System.out.println(正在講解Java);l 查看所選中類的源代碼Ctrl+滑動(dòng)鼠標(biāo)點(diǎn)擊類名,或者選中類名后,按F3鍵查看所選中類的源代碼。l 查看所選中方法的源代碼Ctrl+滑動(dòng)鼠標(biāo)點(diǎn)擊方法名,或者選中方法名后,按F3鍵查看所選中方法的源代碼。l Eclipse中的JRE System Library是默認(rèn)的Eclipse依賴JRE中的類庫(kù)。在該位置可以查找到平常使用的String類、Random類、Math類等。1.2 文檔注釋導(dǎo)出幫助文檔在eclipse使用時(shí),可以配合文檔注釋,導(dǎo)出對(duì)類的說(shuō)明文檔,從而供其他人閱讀學(xué)習(xí)與使用。通過(guò)使用文檔注釋,將類或者方法進(jìn)行注釋用簡(jiǎn)單標(biāo)注基本信息。如author 作者、version代碼版本、param方法參數(shù)、return方法返回值等。package cn.itcast;/* * 我的工具類 * author Li * version 1.0版本 */public class Tool /* * 返回兩個(gè)整數(shù)的累加和 * param num1 第一個(gè)數(shù) * param num2 第二個(gè)數(shù) * return 返回累加和 */public static int getSum(int num1, int num2)return num1 + num2;使用Eclipse導(dǎo)出javadoc文檔即可,操作步驟如下圖:1.3 項(xiàng)目的jar包導(dǎo)入與導(dǎo)出jar包是一個(gè)可以包含許多.class文件的壓縮文件。我們可以將一個(gè)jar包加入到項(xiàng)目的依賴中,從而該項(xiàng)目可以使用該jar下的所有類;也可以把項(xiàng)目中所有的類打包到指定的jar包,提供給其他項(xiàng)目使用。l 導(dǎo)出jar包:即把項(xiàng)目中所有類,打包到指定的jar包中,步驟如下圖:l 導(dǎo)入jar包:即把指定的jar包,加入到指項(xiàng)目中,提供給項(xiàng)目使用。導(dǎo)入jar包的過(guò)程是將jar包加入到項(xiàng)目的.classpath文件中去,讓項(xiàng)目識(shí)別,便可以使用jar包中所有的.class文件類。以下是加入步驟:1:項(xiàng)目根文件夾下創(chuàng)建lib文件夾,用于同一管理所有的jar文件2:把jar文件復(fù)制到lib文件夾中3:右鍵點(diǎn)擊jar文件,點(diǎn)擊Build Path,選擇Add to Build Path,此時(shí)查看項(xiàng)目根文件夾下的.classpath文件,發(fā)現(xiàn)新加入的jar包路徑被配置到了該文件中。說(shuō)明可以使用jar包中所有類了。l 注意:Jar包加入后,必須Add to Build Path才能使用Jar包加入后,加入的類也必須導(dǎo)包,如果加入的類其包名與現(xiàn)有類包名相同,則視作在同一個(gè)包下。(不常見(jiàn))第2章 面向?qū)ο?.1 不同修飾符使用細(xì)節(jié)常用來(lái)修飾類、方法、變量的修飾符如下:l public 權(quán)限修飾符,公共訪問(wèn), 類,方法,成員變量l protected 權(quán)限修飾符,受保護(hù)訪問(wèn), 方法,成員變量l 默認(rèn)什么也不寫(xiě) 也是一種權(quán)限修飾符,默認(rèn)訪問(wèn), 類,方法,成員變量l private 權(quán)限修飾符,私有訪問(wèn), 方法,成員變量l static 靜態(tài)修飾符 方法,成員變量l final 最終修飾符 類,方法,成員變量,局部變量l abstract 抽象修飾符 類 ,方法我們編寫(xiě)程序時(shí),權(quán)限修飾符一般放于所有修飾符之前,不同的權(quán)限修飾符不能同時(shí)使用;同時(shí),abstract與private不能同時(shí)使用;同時(shí),abstract與static不能同時(shí)使用;同時(shí),abstract與final不能同時(shí)使用。l 修飾類能夠使用的修飾符:修飾類只能使用public、默認(rèn)的、final、abstract關(guān)鍵字使用最多的是 public關(guān)鍵字public class Demo /最常用的方式class Demo2public final class Demo3public abstract class Demo4l 修飾成員變量能夠使用的修飾符:public : 公共的protected : 受保護(hù)的: 默認(rèn)的private :私有的final : 最終的static : 靜態(tài)的使用最多的是 privatepublic int count = 100;protected int count2 = 100;int count3 = 100;private int count4 = 100; /最常用的方式public final int count5 = 100;public static int count6 = 100;l 修飾構(gòu)造方法能夠使用的修飾符:public : 公共的protected : 受保護(hù)的: 默認(rèn)的private :私有的使用最多的是 publicpublic Demo() /最常用的方式protected Demo()Demo()private Demo()l 修飾成員方法能夠使用的修飾符:public : 公共的protected : 受保護(hù)的: 默認(rèn)的private :私有的final : 最終的static : 靜態(tài)的abstract : 抽象的使用最多的是 publicpublic void method1()/最常用的方式protected void method2()void method3()private void method4()public final void method5()public static void method6()/最常用的方式public abstract void method7();/最常用的方式第3章 自定義數(shù)據(jù)類型的使用3.1 辨析成員變量與方法參數(shù)的設(shè)計(jì)定義l 定義長(zhǎng)方形類,包含求周長(zhǎng)與求面積的方法l 定義數(shù)學(xué)工具類,包含求兩個(gè)數(shù)和的二倍與求兩個(gè)數(shù)積的方法思考:這兩個(gè)類的計(jì)算方法均需要兩個(gè)數(shù)參與計(jì)算,請(qǐng)問(wèn)兩個(gè)數(shù)定義在成員位置還是形參位置更好,為什么?如果變量是該類的一部分時(shí),定義成成員變量。 如果變量不應(yīng)該是類的一部分,而僅僅是功能當(dāng)中需要參與計(jì)算的數(shù),則定義為形參變量。l 數(shù)學(xué)工具類public class MathTool /求兩個(gè)數(shù)的和的二倍public double sum2times(int number,int number2) return (number+number2)*2;/求兩個(gè)數(shù)的積public double area(int number,int number2) return number*number2;l 長(zhǎng)方形類public class CFX /因?yàn)殚L(zhǎng)與寬,在現(xiàn)實(shí)事物中屬于事物的一部分,所以定義成員變量private int chang;private int kuan;public CFX(int chang, int kuan) this.chang = chang;this.kuan = kuan;/求長(zhǎng)與寬的周長(zhǎng)public double zhouChang() return (chang+kuan)*2;/求長(zhǎng)與寬的面積public double mianJi() return chang*kuan;public int getChang() return chang;public void setChang(int chang) this.chang = chang;public int getKuan() return kuan;public void setKuan(int kuan) this.kuan = kuan;3.2 類作為方法參數(shù)與返回值l 類作為方法參數(shù)在編寫(xiě)程序中,會(huì)經(jīng)常碰到調(diào)用的方法要接收的是一個(gè)類類型的情況,那么這時(shí),要向方法中傳入該類的對(duì)象。如下代碼演示:class Personpublic void show()System.out.println(show方法執(zhí)行了);/測(cè)試類public class Test public static void main(String args) /創(chuàng)建Person對(duì)象Person p = new Person();/調(diào)用method方法method(p);/定義一個(gè)方法method,用來(lái)接收一個(gè)Person對(duì)象,在方法中調(diào)用Person對(duì)象的show方法public static void method(Person p)p.show();l 類作為方法返回值寫(xiě)程序調(diào)用方法時(shí),我們以后會(huì)經(jīng)常碰到返回一個(gè)類類型的返回值,那么這時(shí),該方法要返回一個(gè)該類的對(duì)象。如下代碼演示:class Personpublic void show()System.out.println(show方法執(zhí)行了);/測(cè)試類public class Test public static void main(String args) /調(diào)用method方法,獲取返回的Person對(duì)象Person p = method();/調(diào)用p對(duì)象中的show方法p.show();/定義一個(gè)方法method,用來(lái)獲取一個(gè)Person對(duì)象,在方法中完成Person對(duì)象的創(chuàng)建public static Person method()Person p = new Person();return p;3.3 抽象類作為方法參數(shù)與返回值l 抽象類作為方法參數(shù)今后開(kāi)發(fā)中,抽象類作為方法參數(shù)的情況也很多見(jiàn)。當(dāng)遇到方法參數(shù)為抽象類類型時(shí),要傳入一個(gè)實(shí)現(xiàn)抽象類所有抽象方法的子類對(duì)象。如下代碼演示:/抽象類abstract class Personpublic abstract void show();class Student extends PersonOverridepublic void show() System.out.println(重寫(xiě)了show方法);/測(cè)試類public class Test public static void main(String args) /通過(guò)多態(tài)的方式,創(chuàng)建一個(gè)Person類型的變量,而這個(gè)對(duì)象實(shí)際是StudentPerson p = new Student();/調(diào)用method方法method(p);/定義一個(gè)方法method,用來(lái)接收一個(gè)Person類型對(duì)象,在方法中調(diào)用Person對(duì)象的show方法public static void method(Person p)/抽象類作為參數(shù)/通過(guò)p變量調(diào)用show方法,這時(shí)實(shí)際調(diào)用的是Student對(duì)象中的show方法p.show();l 抽象類作為方法返回值抽象類作為方法返回值的情況,也是有的,這時(shí)需要返回一個(gè)實(shí)現(xiàn)抽象類所有抽象方法的子類對(duì)象。如下代碼演示:/抽象類abstract class Personpublic abstract void show();class Student extends PersonOverridepublic void show() System.out.println(重寫(xiě)了show方法);/測(cè)試類public class Test public static void main(String args) /調(diào)用method方法,獲取返回的Person對(duì)象Person p = method();/通過(guò)p變量調(diào)用show方法,這時(shí)實(shí)際調(diào)用的是Student對(duì)象中的show方法p.show();/定義一個(gè)方法method,用來(lái)獲取一個(gè)Person對(duì)象,在方法中完成Person對(duì)象的創(chuàng)建public static Person method()Person p = new Student();return p;3.4 接口作為方法參數(shù)與返回值l 接口作為方法參數(shù)接口作為方法參數(shù)的情況是很常見(jiàn)的,經(jīng)常會(huì)碰到。當(dāng)遇到方法參數(shù)為接口類型時(shí),那么該方法要傳入一個(gè)接口實(shí)現(xiàn)類對(duì)象。如下代碼演示。/接口interface Smokepublic abstract void smoking();class Student implements SmokeOverridepublic void smoking() System.out.println(課下吸口煙,賽過(guò)活神仙);/測(cè)試類public class Test public static void main(String args) /通過(guò)多態(tài)的方式,創(chuàng)建一個(gè)Smoke類型的變量,而這個(gè)對(duì)象實(shí)際是StudentSmoke s = new Student();/調(diào)用method方法method(s);/定義一個(gè)方法method,用來(lái)接收一個(gè)Smoke類型對(duì)象,在方法中調(diào)用Smoke對(duì)象的show方法public static void method(Smoke sm)/接口作為參數(shù)/通過(guò)sm變量調(diào)用smoking方法,這時(shí)實(shí)際調(diào)用的是Student對(duì)象中的smoking方法sm.smoking();l 接口作為方法返回值接口作為方法返回值的情況,在后面的學(xué)習(xí)中會(huì)碰到。當(dāng)遇到方法返回值是接口類型時(shí),那么該方法需要返回一個(gè)接口實(shí)現(xiàn)類對(duì)象。如下代碼演示。/接口interface Smokepublic abstract void smoking();class Student implements SmokeOverridepublic void smoking() System.out.println(課下吸口煙,賽過(guò)活神仙);/測(cè)試類public class Test public static void main(String args) /調(diào)用method方法,獲取返回的會(huì)吸煙的對(duì)象Smoke s = method();/通過(guò)s變量調(diào)用smoking方法,這時(shí)實(shí)際調(diào)用的是Student對(duì)象中的smoking方法s.smoking();/定義一個(gè)方法method,用來(lái)獲取一個(gè)具備吸煙功能的對(duì)象,并在方法中完成吸煙者的創(chuàng)建public static Smoke method()Smoke sm = new Student();return sm;第4章 星級(jí)酒店案例4.1 案例介紹某五星級(jí)酒店,資金雄厚,要招聘多名員工(經(jīng)理、廚師、服務(wù)員)。入職的員工需要記錄個(gè)人信息(姓名、工號(hào)、經(jīng)理特有獎(jiǎng)金屬性)。他們都有自己的工作要做。本案例要完成如下需求:l 獲取酒店幸運(yùn)員工;l 酒店開(kāi)設(shè)VIP服務(wù),酒店的廚師與服務(wù)員可以提供VIP服務(wù)。(廚師做菜加量、服務(wù)員給顧客倒酒)。l 編寫(xiě)測(cè)試類n 向酒店中,增加多名員工(其中包含1名經(jīng)理,1名廚師、2名服務(wù)員);n 調(diào)用酒店員工的工作功能n 調(diào)用酒店員工的VIP服務(wù)功能4.2 案例需求分析l 根據(jù)“某五星級(jí)酒店,資金雄厚都有自己的工作要做?!狈治龀?,該題目中包含酒店,可以把它封裝成類,多名員工)。class 員工 屬性:姓名屬性:工號(hào)方法:工作class 廚師 extends 員工class 服務(wù)員 extends 員工class 經(jīng)理 extends 員工 屬性:獎(jiǎng)金員工的類型有經(jīng)理、廚師、服務(wù)員,它們有共同的屬性(姓名、工號(hào)、),經(jīng)理額外屬性(獎(jiǎng)金)。l 根據(jù)“向酒店中,增加多名員工(其中包含1名經(jīng)理,1名廚師、2名服務(wù)員)”。分析出,要?jiǎng)?chuàng)建一個(gè)酒店對(duì)象,并添加4名員工到酒店對(duì)象的員工集合中。酒店員工集合添加新員工: 經(jīng)理對(duì)象酒店員工集合添加新員工: 廚師對(duì)象酒店員工集合添加新員工: 服務(wù)員對(duì)象酒店員工集合添加新員工: 服務(wù)員對(duì)象l 根據(jù)“獲取酒店幸運(yùn)員工”。分析出,從酒店員工集合隨機(jī)得到一名員工對(duì)象。1. 從酒店員工集合長(zhǎng)度范圍內(nèi),隨機(jī)產(chǎn)生一個(gè)隨機(jī)數(shù)2. 使用該隨機(jī)數(shù)作為集合的索引,返回該索引處對(duì)應(yīng)的員工對(duì)象l 根據(jù)“酒店開(kāi)設(shè)VIP服務(wù),酒店的廚師與服務(wù)員可以提供VIP服務(wù)。(廚師做菜加量、服務(wù)員給顧客倒酒)”。分析出,這是要增加一個(gè)VIP的接口,接口中提供個(gè)VIP服務(wù)的方法。讓廚師與服務(wù)員實(shí)現(xiàn)該接口。interface VIP服務(wù) 抽象方法:服務(wù)class 廚師 extends 員工 implements VIP服務(wù) 重寫(xiě)服務(wù)方法 class 服務(wù)員 extends 員工 implements VIP服務(wù) 重寫(xiě)服務(wù)方法 4.3 實(shí)現(xiàn)代碼步驟l VIP服務(wù)public interface VIP public abstract void server(); /服務(wù)l 員工/* * 員工: 姓名 String 工號(hào) String */public abstract class YuanGong / 成員變量private String xingMing;private String gongHao;/ 構(gòu)造方法public YuanGong() super();public YuanGong(String xingMing, String gongHao) super();this.xingMing = xingMing;this.gongHao = gongHao;/ 抽象方法public abstract void work();/ getters與setterspublic String getXingMing() return xingMing;public void setXingMing(String xingMing) this.xingMing = xingMing;public String getGongHao() return gongHao;public void setGongHao(String gongHao) this.gongHao = gongHao;l 服務(wù)員/* * 定義員工的子類 服務(wù)員類 */public class FuWuYuan extends YuanGong implements VIP public FuWuYuan() super();public FuWuYuan(String xingMing, String gongHao) super(xingMing, gongHao);Overridepublic void work() System.out.println(親,全身心為您服務(wù),記得給好評(píng)哦);Overridepublic void server() System.out.println(給顧客倒酒);l 經(jīng)理/* * 經(jīng)理在員工的基礎(chǔ)上,添加了獎(jiǎng)金成員 */public class JingLi extends YuanGong private double jiangJin;public JingLi() super();public JingLi(String

溫馨提示

  • 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)論