




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、老老師簡老,82 年生于山西,02 工程師實訓老老師簡老,82 年生于山西,02 工程師實訓課身教育至今。至 09 年 12 月?lián)碛衅吣旯ぷ鹘涷灒慕逃涷炄V泛,近期一直學習經濟學與心理學老師課程特點:通俗易懂,風趣幽默面一直有逛書店,到java 柜臺總會停下來基礎書籍向學,但可惜十分滿意的基本沒有。于是有了下現(xiàn)在市面上的有兩種一種是一直有逛書店,到java 柜臺總會停下來基礎書籍向學,但可惜十分滿意的基本沒有。于是有了下現(xiàn)在市面上的有兩種一種是學院派老師編寫的,他們是主流,你看到十本java書,有九本半是這樣的。他們的作者擁有讓人敬仰的稱謂,如某某教是讀著這樣的書學java 的。但現(xiàn)在看來
2、,這樣的書并不適合入門節(jié)大都是這樣的,懷著莫大的熱情準備開始學習java,買了城市:陜西,西久仰的java 編程寶典(有無此書,無從得之,杜撰的名),它很厚很重很專業(yè),你用毅力恒心支持看了幾十頁,才相信java 的確是難學,后來,就不怎么看它了。直到過了很多天,也許你已從事java方面的開發(fā)工作,一天,從書堆里無意的見到它,拍拍灰塵看看,夠厚,就作為工具書備用吧技電子郵個:還有一種是這樣草根階層(好聽點叫實戰(zhàn)派)編寫的的書鳳毛麟角,因為大家都在忙于工作這樣打了雞簡單,學習IT 類散文來閱讀它。OK,如果你初學java,需要的就是一本這樣的書 地址老師的目標人群是:初學java 的讀者歡學還有如
3、果您已認真完善的學習過java,或已從事java 方面的開發(fā)作,那本書的部分章節(jié)一些幽默風趣的案例您帶來一些驚喜,一些實用技術的深入講解能給您帶來些許收獲所以老師的理想目標是: 讓新手當技術類籍來學習它,讓老手當消遣類散文來閱讀它。想讓所有人,中成長,中工作。學習java 可以是件很輕松的情,讓所謂高深的技術平民化,讓所謂復雜的技術簡單化,這斗目標,也會一直為此努奮本章內容分為七部分,如下圖所示6.1編程語言的分類老師以前的理想是學習漢語言文學,將來的首選職本章內容分為七部分,如下圖所示6.1編程語言的分類老師以前的理想是學習漢語言文學,將來的首選職業(yè)是作家,其次作家當不了某報社做個也可以,再
4、其次編干不了那就湊合做個業(yè)余的網絡寫吧(比如現(xiàn)在黨),最后實那就去做印刷工人,最最后印刷工人也干不了我騎著自行車每天送報紙,反正想的就是要與文字相關的工作?,F(xiàn)狀應聘印刷工人沒成功,個偶然的機會做了程序員。到這里大家也應該明白,程序員(編碼工人)的社會地位僅在刷工人之下,送報工人之上在這里絕對沒有貶低送報師傅的意思,其實我也挺想做送報工人的,比如每上下班回家,可以向老婆孩子發(fā)發(fā)感慨吹噓吹噓今天終究沒有追上那輛寶馬,只望著它絕塵而去,不是因為車動力不夠,而是鏈子掉了雖然沒學習漢語言文學,沒成作家,也沒做編輯,只是個小小的程序員。但作家編也用語言嗎?作家編輯用語言寫文章混飯吃,程序要用語言寫程序混飯
5、吃,大家出來混飯的工具都是語言,看也算變相實現(xiàn)了原來的理想以上兩段,邏輯有些混蛋,筆調有。到這里,大家一定驚奇,這怎么可能出旺老師這么斯文的人之口,哈哈,幻覺,那一定是幻覺。還有如果將來能,編頁面 3大人絕對要把些給去掉的,那就先在免費中留著吧?。ㄏM庉嬕彩窒铝羟?,自寫的東西就像自己的親兒子,舍不得啊現(xiàn)實生活中使用大人絕對要把些給去掉的,那就先在免費中留著吧!(希望編輯也手下留情,自寫的東西就像自己的親兒子,舍不得啊現(xiàn)實生活中使用的語言有漢語,英語,法語,日語等。這些語言根據不同的角度是分類的。比說法語是世界上最美的語言,日語是亞種最美的語言,因為法語日語發(fā)比較平滑圓潤,從音律上講聽起來比較
6、舒服。那漢語呢講究字正腔圓,揚頓挫;并且還有聲調,一些國際友人都學習漢語,都被聲困擾。這里就把語言分為兩類:平滑的語言,抑揚頓挫的語言計算機編程語言也是一樣,有兩個重要的分類是:面向過程的編程語言與程語言面向過程的編程語言:典型代表是C,在C 中,程序由一個過程(又稱函數,方法)成,程序由main 過程開始執(zhí)行,main 過程又可以調用別的過程。當然很多個過程也可以中在一個點h 的頭文件中需要的時候導入頭文件,類似于java 中的導入包面象的編程語言:它是現(xiàn)在的主流,比如 C+,Java,C#。在象的語言中事萬物皆對象(類),關前期已經學習過,但不是有了類就可以稱為面對象的編程語言了,它還必須
7、滿足象的三個基本特征,即:封裝,繼承,多態(tài)。比有門語言 JavaScript,雖然也有類與對象的概念,但并沒有完全滿足象的個特把它叫基于對象的語言。到這里,大家也明白判斷一門語言是或否為面對象的標準:即是否支持封裝,繼承與多態(tài)。下就分別學習這三個特征,今天先學繼承面象的語言標準:是否支持封裝,繼承與6.2繼承的定義與實現(xiàn)6.2.1 繼承定義在象語言中,繼承一詞來源自生活,了生活。先看定義:定義一個新類叫繼承,原有的類叫父類,新生成的類叫子類。這個容易理解,你生了個孩不管兒子還是女兒都是繼承,那你就是父類,你孩子就是子類頁面 4把象編程叫OOP,還有一門知識叫OOAD(象的分析與設計),在中,繼
8、承又叫派生,父類又叫超類(關于OOAD,第三季課程中會講解,現(xiàn)在你只把象編程叫OOP,還有一門知識叫OOAD(象的分析與設計),在中,繼承又叫派生,父類又叫超類(關于OOAD,第三季課程中會講解,現(xiàn)在你只要知道別說派生超類是什么意思就可但是在現(xiàn)實中孩子可能有兩個父類,如父親和母親,就是說一個類繼承自多個類多繼承,比如C+就是這樣的。但Java 中只有單繼承,也就是說,在 Java 中一個類只能承自一個父類。這里大家也不要認為C+中有多繼承就多么了不起,就好像現(xiàn)實中如果某人有兩個父親也不一定是什么愉快的事情,多繼承帶來的麻煩并不比它帶來的方便少,因它使類的體系結構變,這也稱C+為最不純粹象語言的
9、一個原因。(很多資料上說C+是最不純粹象語言,其中一個原因就是因為C+萬惡的多繼承還有一個重要原因是因為C+中保留了指針,指針的保留提高了C+運行速度效率,但也加了程序的復雜性,學習難度。Java 雖然不允許一個子類有多個父類,但允許一個父類有多個子類。通俗的說就是為父類的你可以有多個孩子。這個于C+是一樣的還說父子類的關系是相對的,比如說你對于你老爸是子類,但對于類了。還爸叫做你的直接父類,叫做你的間接父類兒子叫做你的直接類,你孫子叫做你的間接子類像上兒子的繼承關系是比較明確的,還有很多抽象的繼承關系,比說是動物,獅子也是動物,那類與獅子類繼承之動物類;學生是人,老師也是人,那生類與老師類又
10、繼承之人類;小轎車是汽車,大貨車也是汽車,小轎車類大貨車類繼承之車類。大家看到繼承關系是通過“子類是父類”確認的6.2.2 繼承實現(xiàn)在Java 中,繼承由extends 關鍵字實現(xiàn)看個例子頁面 5package演示繼承子老*publicclassSonextendsFather/在Java中,繼承由extends關鍵字有了父再看子類大家看到了,繼承很簡單,現(xiàn)在Son 類就繼承Father 類6.3繼承特點繼承的特點是個重點,也是難點代碼中使有了父再看子類大家看到了,繼承很簡單,現(xiàn)在Son 類就繼承Father 類6.3繼承特點繼承的特點是個重點,也是難點代碼中使用較多的,因為現(xiàn)在大家所學識有限
11、老師不能多的放在項目代碼中講解,在這里只能盡量使用通俗易懂的案例給家說明,同時要求大家要把所有概念性的東西背誦,然后期項目代碼中使用了這里識再反復強調,加。繼承的特點老師一共總結了四點,前三點比較簡單;第四點中又引申出三小較難理看子類擁有父類的屬性和方子類可以有自己新的屬性和子類可以重寫(覆蓋)父類的方可父類,創(chuàng)建的什么類型,就只能調用本類型的屬性和方創(chuàng)建的什么類型,運行什么類型的創(chuàng)建的什么類型,就可以強轉為什么類6.3.1 特點一: 子類擁有父類屬性和方法現(xiàn)實生有一句俗語叫做“有個好腦子,看這句話思,無非就是說兒子可以繼的房子車子票子等等東東,也就是說,兒子可以擁有父留給他的東東已經知道類是
12、相同屬性和行為的對象的集合,那在父類中只有屬性和法了,所以說“子類擁有父類的屬性和方頁面 6package演示繼老*publicclassFather先看一個類Father 的代碼,比如父親有name 屬性,在解放前,父親得先看一個類Father 的代碼,比如父親有name 屬性,在解放前,父親得有個吃飯的生,每天如駱一樣拉個面板車,所以這里他有一個diver 的方法子類的代碼與上例中沒有任何變化,只是繼承之父類,沒有屬性也沒方法下面是測試運行類程序運行結果頁面 7調用父package運行老*publicclassTestExtendsRunpublic sicvoidmain(Stringa
13、rgs) lige = new Son(); = 犀利哥;ln(大家好,我叫); package演示繼老*publicclassFather String name;voiddriver()ln(調用父方法,拉平板車大家看到,雖然子類中并沒有定義name 屬性與driver 方法,但依然可以調用,說類大家看到,雖然子類中并沒有定義name 屬性與driver 方法,但依然可以調用,說類繼承了父類的屬性和方法。但也不是說子類可以繼承父類所有的屬性和方法,比private 修飾的就絕,關于private 修飾符,下章講解封裝時再詳細說明,現(xiàn)在大做練習只要把子類與父類放在一個包中就可以了通過特點一也
14、可以反推出使用繼承的情況:當兩個類有多個相同的屬性方法時抽取父類。比的系統(tǒng)中有兩個類老師與學生,他們都擁的屬性如下所示沒有繼承前的學生類沒有繼承前的老師類上面的代碼大家發(fā)現(xiàn)老師類與學生類都定義了相同的屬性name 與age,也就是存在碼冗余可以定義一個父類“人”,讓其擁有name 與age 屬性,這樣只要讓老師與頁面 8package演示繼承在什么情況下使老*/沒有繼承前的老師publicclassTeacher/擁有相同屬Stringname; String age;/擁有特有的老屬/*其它特有屬性方法package演示繼承在什么情況下使老*/沒有繼承前的學生publicclassStude
15、nt/擁有相同屬Stringname; String age;/*其它特有屬性方法生繼承之人類,根據特點一子類擁有父類屬性和方法,兩生繼承之人類,根據特點一子類擁有父類屬性和方法,兩個子類也就有name 與age 屬性了通過這個案例也可以看出繼承的一個優(yōu)點:減少代碼冗余,實現(xiàn)代碼復用重構抽取父,抽取子類Student 與Teacher 都有的屬性重構后的學生重構后的老師頁面 9package繼承后的老老*publicclassTeacherNew/擁有特有的老屬package繼承后的學老*publicclassStudentNewpackage演示繼承在什么情況下使用,抽取出老*publicS
16、tring name; String age;當然這樣的情況應不僅僅局限于屬性,當兩個子類有相當然這樣的情況應不僅僅局限于屬性,當兩個子類有相同的方法時,也可以抽取父把相同的方法代碼抽取到父類。也就是說:當兩個或多個類中有相同的屬性或方時可以為它們提取一個父類,把相同的屬性方法代碼抽取到父類中,并讓所有子類繼承那個取的父6.3.2 特點二: 子類可以有自己新的屬性和方法接著上面的父子類案例,當然時代在進步,社會在發(fā)展,兒子長大后 IT 業(yè)興起學會了上網,兒子還有了自己的網絡昵稱,則子類變化下面看運行類頁面 10package運行老*publicclassTestExtendsRunpublic
17、 sicvoidmain(Stringargs) lige = new Son(); = 犀利哥;ln(大家好,我叫); xilige.lineName = 寂寞犀利哥;package演示繼承子老*publicclassSonextendsFather/ 特點二:子類可以有自己新的屬性和/ 子類新的屬性網publicString/ 子類新的方法public( ln(我是子類定義的方法,我運行結根據有繼承第二個特點:子類可以擁有自己新的屬點雖然比較簡單,但可以引出下面復運行結根據有繼承第二個特點:子類可以擁有自己新的屬點雖然比較簡單,但可以引出下面復雜的特點三6.3.3 特點類可以覆蓋父類的方法
18、( 方法重寫, 方法覆蓋比如兒子混的不錯,賺了很多錢,每次兒子出去開著老爸留給自己的平板車肯定不那好的解決方法嗎?這里也可以,因為子類可以重寫(覆蓋)父類的方法引一個方法重寫或者叫方法覆蓋的概方法覆蓋(方法重寫):子類方法與父類方法具有相同的方(方法頭),不實現(xiàn)(方法體)。方法覆蓋是相對于父子類而言的,一個類無法實現(xiàn)覆蓋。(如果忘記與方法實現(xiàn)的知識,建議回到類與對象那章復習還是上例,父類不變,則子類變化頁面 11調用父網名是寂寞犀利哥ln(大家好網名是xilige. package class Sonextends FatherString() void driver()package cla
19、ss Sonextends FatherString() void driver()運行類package publicclass TestExtends2Runpublic icvoidmain(Stringargs)Son son =new 頁面 12程序運行結果通過可以看到,driver()并沒有調用父類的拉平板車,而是開個BMW。也就是說,子類重寫父類方法,創(chuàng)建程序運行結果通過可以看到,driver()并沒有調用父類的拉平板車,而是開個BMW。也就是說,子類重寫父類方法,創(chuàng)建子類,調用的是子類的方法關鍵字假在開發(fā)程序時如一把子類的driver 方法寫錯,比如多個字母或少個母,如寫作dri
20、iver(),由于大家的疏忽并沒看到,這時根據子類可以擁有新的屬性法,源文件依然能編譯通過,只有當子類對象調用driver()方法時,程序打印的依然是類的拉平板車才會發(fā)現(xiàn),當然這樣的疏忽通過您的細心是可以發(fā)現(xiàn)的。其實還有另種方法,那就是利用JAVA 提供注解的OverrideOverride 用在子類方的前面,表示此方法是重寫的父類方法,當方足時,在Java 源文件編譯為類文件時就會報錯。也就是在編譯階段就能發(fā)現(xiàn)這樣錯誤。如下所package publicclass Sonextends Fatherpublicvoid driver()頁面 13知道 java 中的注釋有三種,單行多行與文檔
21、,要么是讓過了若干天當時寫的程序,要么是方便別人理解你寫的程序,這些注釋都是給程序員看的,或者讓人的;這里你可以把注解理解為一種特殊的知道 java 中的注釋有三種,單行多行與文檔,要么是讓過了若干天當時寫的程序,要么是方便別人理解你寫的程序,這些注釋都是給程序員看的,或者讓人的;這里你可以把注解理解為一種特殊的注釋,他不但可以讓人看,更重要的是讓機器java 編譯器看,這樣可以在編譯階段及時發(fā)的錯誤,這樣理解有些偏差,但為了便,大家暫時先這。還有注解是從 JDK1.5 開始引入的非常強大的流的開發(fā)框架技術已經大量使用后面會有一章詳細的講6.3.4 特點四: 可以現(xiàn)父類, 創(chuàng)建子類( 父類能出
22、現(xiàn)的地方, 子類一定能出首先簡單回顧與創(chuàng)建對象學生類Student,那Student zhangsan;對象,zhangsan =new Student();為創(chuàng)建對象還可以與創(chuàng)建代碼入一行:StudentlisinewStudent單純從語法上父類,創(chuàng)建子類,上面特點一到三的案例可以寫為laoliunewSon();但這樣這樣理解起來肯,下面看一個案例假如您父親是一個文藝工作者,有一技之長是會跳舞,會跳一種難度非常高的舞“戈”(不知道大家是否還記得以前一個非常可愛的老太與演的那個跳探戈的小品),那有如下父類package publicclass Fatherpublicvoid tange(
23、)假一天要舉辦一個活動,要表,邀請你爸去跳舞,它的代碼如下頁面 14package *publicclass Huodong* 表* parampublicvoidpackage *publicclass Huodong* 表* parampublicvoid biaoyanjiemu(Fatherfather)但這時你父親生病了叫到床前說,“兒啊,有人請你爸我跳舞,我現(xiàn)在病了了,根老師講的子類擁有父類的屬性和方法,你也會跳舞,怎么樣,你就代父出吧!”,子類代碼如下所示packagepublicclassSonextendsFatherpublicvoid 運行類代碼如下所示頁面 15pack
24、age class Testsicvoidmain(Stringargs)Fatherfather;fathernew Son();Huodonghuodong=new package class Testsicvoidmain(Stringargs)Fatherfather;fathernew Son();Huodonghuodong=new 那這個例子中人家給你父親發(fā)的請?zhí)簿褪堑氖歉割?,但最后是你去你的就是?chuàng)建的運行的子類。根據這也可以從另一個角度說“父類能出現(xiàn)的地方,子類定能出現(xiàn)”。父類,創(chuàng)建子類這個特點又可以引申出下面三特點四點一的什么類型就只能調用本類型的屬性和方法你去參加舞會了
25、,并且是以你老爸去的,那你就你爸的樣子,比如親不會喝酒,沒有喝酒的方法,但子類你又,那這時你也不能喝酒,也就是說只能調用父的方法,而不能調用子類特有的方法,所說的什么類型就只能調用本類的屬性和方法頁面 16package publicclass Testpublic icvoidmain(Stringargs)Fatherfather;package publicclass Testpublic icvoidmain(Stringargs)Fatherfather;fathernew Son();特點四點二建的什么類型真正運行的什么類型的方法上面講了方法重寫,知道子類可以重寫父類的方法。這里別
26、人只知道你爸會跳但如何跳跳幾步他們不知道,這是你就可以重寫父類的方法了,比如父類跳兩步,你完全以調三步,類代碼如頁面 17package publicclass Sonextends Fatherpublicvoid zhuifengjie()publicvoidhejiu()package publicclass Sonextends Fatherpublicvoid zhuifengjie()publicvoidhejiu()publicvoid tange()運行結大家看到,并沒有調用父類的跳舞方法,而是調用的子類重寫的方法,所說:建的什么類型,就真正運行的什么類的方特點四點三建的什么類
27、型可以強轉為什么類型在舞會上,你看到了一個美貌如花,讓你怦然心,你按捺不住,要向白,這時你是以你老來的,如果這樣上去的話肯定會罵,這時怎辦?你可以亮出你的,說其實我是代父出征,這樣強制類型轉換為子類后,就可頁面 18調用子的方法了,所說,創(chuàng)建的什么類型,就可以強制類型轉換為什么型package class Test調用子的方法了,所說,創(chuàng)建的什么類型,就可以強制類型轉換為什么型package class Testsicvoidmain(Stringargs)Fatherfather;fathernew Son();Huodonghuodong=new Sonson = 上面四大點,七小點,希望
28、大家記老師的案例,雖然不怎么高雅,但的確很用,關于具體的熟練應用,后面在代碼中大家再體會,這里請您先記住這些特點6.4 THIS 與 SUPER 關鍵字在類中還經常出現(xiàn)兩個關鍵字this 與現(xiàn)在學習。比如您爸是個煤窯主那您就是富二代。您家有一個大大的車庫,里的都是,吉利這樣的豪車頁面 19等,開玩笑,也是夢想,希望中國汽車早世界。好的,放的都是像路虎蘭博基尼法利這樣的豪車,這些車有些是您爸留等,開玩笑,也是夢想,希望中國汽車早世界。好的,放的都是像路虎蘭博基尼法利這樣的豪車,這些車有些是您爸留給您的,有些是自己買的。一天你帶著一個女如到您家車庫轉了一圈見輛車就問,這是你爸留給你的還是自己買的,
29、回答了幾后感覺有些煩,怎么辦呢?您在每輛車前插了個小旗, this 與super,然后對她就買的,super 是老爸留。大家看到,其實this 與super 很簡單,this 表示調用自的屬性和方表示調用父的屬性和方法。還是上例,比如兒子開了BMW 之后總不忘父親當初生活艱辛,所以在有定義了一個憶苦思甜的方法,先拉下父親的平板車,再開下自己別,如果沒有per 關鍵字則很難分辨,現(xiàn)在則有package publicclass Sonextends Fatherpublicvoid driver()publicvoid ykst()當調用子類對象的 ykst()方法時,首先通過 super.dri
30、ver()調用父類拉平板車方法,再通過 this.driver()調用自己開的方法。如果沒有使用 this 和 super 關頁面 20字,則系統(tǒng)默認會全部調用子類方法,這里程序的運行結果就不在給出,大家自己試6.5字,則系統(tǒng)默認會全部調用子類方法,這里程序的運行結果就不在給出,大家自己試6.5 繼承中的構造方法繼承中的構造方法剛開始學習理解比較吃老師給大家總結了以下幾創(chuàng)建對象一定會調用構造方創(chuàng)建子類對象一定會調用父類的構造方子類默認調用父類無參構造子類只能調用父類存在的構造方子類構造方法中使用super 調用父類構造方法,并且super 必須放在第一構造方法中this 表示調用本類其他構造方
31、法,并且this 必須放在第一看父類package publicclass Fatherpublic String則子類package publicclass Sonextends Fatherpublic String頁面 21假如子類不變修改父package publicclass FatherStringFather(Stringname)this.假如子類不變修改父package publicclass FatherStringFather(Stringname)= 則子類報編譯錯誤,因為子類經編譯后實際如下package publicclass Sonextends Fatherpu
32、blic Son()String 當使用super()調用父類構造方法時,父類只有一個帶參數的,根據子類只能調用存在的構造方法,所以報編譯錯誤。這時,你只要給父類添加一個無參構造函數就可以了頁面 22還要記住,如果顯式使用super 關鍵字,那么他必須放在構造方法的第一行。如下package 還要記住,如果顯式使用super 關鍵字,那么他必須放在構造方法的第一行。如下package class Sonextends FatherSon()Son(Stringname,StringlineName)this.lineName= 最后還有一點,構造方法中使用this 關鍵字表示調用本類其他構造方
33、法,并且this 必須放在構造方法的第一行,如下所示頁面 23package publicclass StudentString String public Student()id,Stringage,Stringpackage publicclass StudentString String public Student()id,Stringage,Stringaddress)this(name,age,address);this.id= Student(Stringage,Stringaddress)= this.age= this.address= 關于繼承中的構造方法,大家理解起來可能
34、比較吃力,感覺就一個“暈記住上面的特點,以后再反復體會。同時,SUN 建議您給每個類添加一個無參的顯式構造法,這樣可以避免很多錯誤頁面 246.6 第六部分: 老OBJECT 知道JAVA象的語言,JAVA 中有一個特殊的類,它的名字就叫6.6 第六部分: 老OBJECT 知道JAVA象的語言,JAVA 中有一個特殊的類,它的名字就叫Object(象),就好像現(xiàn)實生活的名字叫人一樣,雖然有些奇怪,但它的確存在。并且類在java.lang 包中,也就是說Object 類可以直接使用而不需要導入JAVA 規(guī)定,如果某個類沒有父類,那它就默認的繼承自Object 類,也就是是java 體系所有類的直
35、接或間接父類。根據子類可以擁有父類的屬性和方法,所以java 類擁有可以從Object 繼承的屬性和方法。這樣,當SUN 要給java 添加新功能時要修改Object 類就可以了,這也體現(xiàn)了繼承的一個優(yōu)點接下看看Object 類中一些重要的到目前為能理解的方法public String toString():這個方前期使用過,那大家現(xiàn)在知道是重寫Object 的方法。它還特殊的地方是當打印對象時只寫對象名不寫方法名,默認調用法。如下所示頁面 25package class StudentString public id,Stringage)= this.age= this.package cl
36、ass StudentString public id,Stringage)= this.age= this.id= StringtoString()return id=+id+name=+ age= + sicvoidmain(Stringargs)Studentstudent=new , 頁面 26protected void finalize() throws Throwable:類似C+的析構方法,在對象消時由系統(tǒng)自動調用(參老師構造方法與“析構方法)equals(Object obj):比protected void finalize() throws Throwable:類似C+的
37、析構方法,在對象消時由系統(tǒng)自動調用(參老師構造方法與“析構方法)equals(Object obj):比較兩個對象的數值(堆空的對數值)是否一致,一般也由子類覆蓋,比使用的String 的equals 方法就是覆它。為了說明這個方法,看下例,還是上面的Student 類看兩個對象的比較packagepublicclassTestEqualspublicmain(String=new,=new,看結構并不是期望的true,而是flase,這時因為默認的調用父類Object 的equalse 方法,這須重寫父類的equalse 方法,如下頁面 27package class StudentStri
38、ng public id,String= this.age= this.id= package class StudentString public id,String= this.age= this.id= equals(Objectobj)(this=return (obj=return Studentother=(Student)(age!=return (id!= return (name=null)if (!=return else ifreturn return 頁面 28/老師這樣再運行上面的比較程序就返回true 了,當然其實這時最好重寫Object hashCode 方法,這
39、個由于大家的知識積累,包括Object 的其他方法比如wait()后再講解6.7 第七部分: 雜談這這樣再運行上面的比較程序就返回true 了,當然其實這時最好重寫Object hashCode 方法,這個由于大家的知識積累,包括Object 的其他方法比如wait()后再講解6.7 第七部分: 雜談這再向大家強調下,學習象,有點類似于初高中學習數理化;學習數的第一步是理各個公式,然后才做題;學象的第一步也是理解背誦個基本概念定理,然后才能做項目。這里的基本概念有很多,如上面講解的繼承的特點this 于super 關鍵字等,像前幾章一會在每章的最后給大家歸納總結,希望大認真背誦。那有些同學又問老師,那個我還沒完全理解怎么辦?。恐荒芨嬖V你,這章理解起來的確很難,如果您看一遍不能完全理解也很正常,那就先背誦下來后期再仔細解;有些同學高興的說我理解了,但您理解的也可能有偏差,還是背誦下來以后反復理解同時希望您把我給您舉的案例一,有時候,案例回憶起來了,特點也就回憶來了。說了這么多,最后總結為一句話“學習象,關鍵是背誦理解概念”關于案例:有些同學老師,你舉例子雖然通俗易懂,但難免有些低俗,不
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年消防安全知識培訓考試題庫:消防宣傳教育方法解析試題
- 離職信息更新協(xié)議
- GTC鋼結構工程合同管理措施
- 短期文化傳承顧問合同
- 2025年小學教師資格考試《綜合素質》模擬面試題庫(含答案)案例分析題解析試卷
- 2025年大學輔導員考試題庫:大學生體育活動策劃與組織試題
- 2025年輔導員考試題庫:學生職業(yè)生涯規(guī)劃指導中的職業(yè)規(guī)劃書撰寫試題集
- 2025至2030年中國氣體真空過濾機行業(yè)發(fā)展預測及投資策略報告
- 2025至2030年不銹鋼手術過渡床項目投資價值分析報告
- 2025至2030年IC卡門禁機項目投資價值分析報告
- 環(huán)境健康與安全EHS管理制度
- 2024年06月工商銀行黑龍江分行金融科技社會招聘(41人)筆試歷年參考題庫附帶答案詳解
- 公共基礎知識課堂筆記
- 2025廣東省廣州打撈局編外人員招聘21名高頻重點提升(共500題)附帶答案詳解
- 產科護理臨床案例分享
- 煙草制品零售數據統(tǒng)計分析考核試卷
- 《中國動畫發(fā)展史》課件
- 中電建新能源集團股份有限公司云南分公司招聘筆試沖刺題2024
- 經皮放射性粒子植入護理全程管理專家共識
- 【名校區(qū)域大聯(lián)考】專題04.閱讀理解D篇(說明文或議論文為主)(解析版)
- 專題四 二次函數綜合題(含答案)2025年中考數學一輪題型專練(陜西)
評論
0/150
提交評論