Java的入門(mén)標(biāo)準(zhǔn)?
入門(mén)級(jí):
1.精通基本語(yǔ)法
2.熟練使用幾種控制語(yǔ)句(for、while、foreach、switch)
3.知道什么是繼承和多態(tài)。如何實(shí)際使用它們
4.熟練使用容器。(列表、集合、地圖)
5.知道簡(jiǎn)單泛型的用法。
6.能夠處理簡(jiǎn)單的異常錯(cuò)誤。
7、能對(duì)硬盤(pán)文件進(jìn)行最基本的讀寫(xiě)操作。
那個(gè)大概是這樣,也許更少。事實(shí)上,它很難辨別一個(gè)人是入門(mén)級(jí)1還是入門(mén)級(jí)4。慢慢來(lái)。多讀書(shū)自然會(huì)有回報(bào)。
在java中,什么是多態(tài)?多態(tài)是用來(lái)做什么的?
多態(tài)是java面向?qū)ο缶幊痰囊粋€(gè)特性,它允許不同類(lèi)的對(duì)象響應(yīng)相同的消息(或函數(shù))。說(shuō)的更直白一點(diǎn),同樣的消息,根據(jù)接收者的不同,可以采取很多不同的行為。
舉個(gè)例子:比如按F1鍵,F(xiàn)lash界面會(huì)彈出AS3的幫助文檔;如果Word下當(dāng)前彈出的是Word幫助;Windows下彈出的是Windows幫助和支持。同樣的事件,發(fā)生在不同的對(duì)象身上,會(huì)產(chǎn)生不同的結(jié)果。
多態(tài)性用于消除類(lèi)型之間的耦合關(guān)系。增加程序的可伸縮性。比如編程,只要按照父類(lèi)的設(shè)計(jì),不管是什么樣的子類(lèi),這個(gè)子類(lèi)以后用起來(lái)都會(huì)不舒服。在不影響原代碼的情況下修改就行了,這樣代碼會(huì)更容易維護(hù)。
Java和C的區(qū)別是什么?
這是一個(gè)好問(wèn)題。目前,C和Java是兩種主流的面向?qū)ο笳Z(yǔ)言,但是對(duì)于兩種語(yǔ)言的對(duì)比,大家都有不同的看法。我們都同意的一件事是"c是一種編譯型高級(jí)語(yǔ)言,Java是一種解釋性高級(jí)語(yǔ)言,所以C有更快的編輯和執(zhí)行速度,而Java也有兼容性好的優(yōu)勢(shì)。c更適合底層開(kāi)發(fā),Java更適合網(wǎng)絡(luò)編程方向。歸根結(jié)底,兩種語(yǔ)言各有所長(zhǎng),會(huì)非常友好地共存。所以,精通兩種語(yǔ)言中一種的優(yōu)秀程序員,至少需要掌握另一種語(yǔ)言的基本語(yǔ)法和結(jié)構(gòu)。因?yàn)镴ava屬于C的衍生語(yǔ)言,所以兩者在語(yǔ)法和概念上非常相似。讓讓我們談?wù)勊麄冊(cè)诿嫦驅(qū)ο蠓较蛏系牟煌?/p>
是一門(mén)完整純粹的面向?qū)ο笳Z(yǔ)言。
我們可以知道"客體與客體在面向?qū)ο蠹夹g(shù)中是指用代碼邏輯表達(dá)一個(gè)特定的實(shí)例,而一個(gè)類(lèi)是相同對(duì)象的集合。所有的Java程序都是由類(lèi)組成的。所以我們?cè)趯W(xué)習(xí)和工作中一定要牢記這一點(diǎn),因?yàn)檫@意味著Java是一門(mén)完全面向?qū)ο蟮恼Z(yǔ)言。。Java里的所有東西都必須放到一個(gè)類(lèi)里。沒(méi)有全局函數(shù)、全局?jǐn)?shù)據(jù),沒(méi)有結(jié)構(gòu)、枚舉或聯(lián)合這樣的東西,只有"階級(jí)和階級(jí)!
讓s看一下C,和Java完全不一樣。比如C的main方法不屬于任何類(lèi),可以在類(lèi)外定義另一個(gè)函數(shù)。在C中,一些概念如全局變量、結(jié)構(gòu)、枚舉、聯(lián)合等仍然存在。對(duì)于這個(gè)問(wèn)題的不同,不同的人有不同的看法。C的一個(gè)優(yōu)點(diǎn)是靈活機(jī)動(dòng),C基本沒(méi)有問(wèn)題,對(duì)于C程序員來(lái)說(shuō),他們只需要知道C比C多了什么,但正因?yàn)槿绱?,C并沒(méi)有完全融入面向?qū)ο蟮男辛校袷敲嫦驅(qū)ο蠛兔嫦蜻^(guò)程的混合體,所以產(chǎn)生了很多機(jī)制來(lái)強(qiáng)化一些功能,破壞程序的整體結(jié)構(gòu)。
所以兩種語(yǔ)言整體對(duì)比可以得出C更靈活,而Java更嚴(yán)謹(jǐn)?shù)慕Y(jié)論。
2.類(lèi)定義和類(lèi)方法定義的區(qū)別。
我們知道Java中沒(méi)有獨(dú)立的類(lèi)聲明,只有類(lèi)定義。在定義類(lèi)和類(lèi)的方法(在C中稱(chēng)為成員函數(shù))時(shí),讓讓我們用一個(gè)典型的C類(lèi)定義的片段來(lái)說(shuō)明它們之間的區(qū)別:
通過(guò)這個(gè)例子,我們可以看到C和Java之間的三個(gè)區(qū)別:
在Java中,類(lèi)的定義與C幾乎采用相同的形式,只是沒(méi)有分號(hào)來(lái)標(biāo)記結(jié)束。Java中的所有方法都是在類(lèi)中定義的,但C不是。c可以在類(lèi)外定義方法。這也體現(xiàn)了Java完全面向?qū)ο蟮奶攸c(diǎn)。沒(méi)有范圍運(yùn)算符"::"在Java的C語(yǔ)言中。Java可以用分隔符做任何事情。"。