亚洲一级免费看,特黄特色大片免费观看播放器,777毛片,久久久久国产一区二区三区四区,欧美三级一区二区,国产精品一区二区久久久久,人人澡人人草

試題

計(jì)算機(jī)二級(jí)《Java語(yǔ)言程序設(shè)計(jì)》知識(shí)考點(diǎn)

時(shí)間:2025-05-24 00:18:26 試題 我要投稿
  • 相關(guān)推薦

2016計(jì)算機(jī)二級(jí)《Java語(yǔ)言程序設(shè)計(jì)》知識(shí)考點(diǎn)

  《Java語(yǔ)言程序設(shè)計(jì)》是計(jì)算機(jī)二級(jí)考試科目之一,為了幫助考生們熟悉考試科目的考點(diǎn),明確備考的方向,下面百分網(wǎng)小編為大家搜索整理了關(guān)于《Java語(yǔ)言程序設(shè)計(jì)》知識(shí)考點(diǎn),歡迎參考學(xué)習(xí),希望對(duì)大家有所幫助!想了解更多相關(guān)信息請(qǐng)持續(xù)關(guān)注我們應(yīng)屆畢業(yè)生考試網(wǎng)!

2016計(jì)算機(jī)二級(jí)《Java語(yǔ)言程序設(shè)計(jì)》知識(shí)考點(diǎn)

  一、java簡(jiǎn)介

  2009年04月20日,美國(guó)甲骨文公司74億美元收購(gòu)Sun,取得java的版權(quán)。

  Java 是面向?qū)ο蟮恼Z(yǔ)言,沒(méi)有面向?qū)ο缶幊探?jīng)驗(yàn)的讀者需要花費(fèi)不少時(shí)間來(lái)了解面向?qū)ο蟮母拍、語(yǔ)法和編程思想,有不能理解的地方請(qǐng)大家一定要堅(jiān)持,多花時(shí)間編寫代碼自然會(huì)豁然開(kāi)朗,從面向過(guò)程到面相對(duì)象需要一個(gè)適應(yīng)期。

  Java 不只是一種編程語(yǔ)言,它是一個(gè)完整的平臺(tái),擁有龐大的庫(kù),將諸如圖形繪制、Socket連接、數(shù)據(jù)庫(kù)存取等復(fù)雜操作進(jìn)行了最大程度的簡(jiǎn)化。

  Java 是跨平臺(tái)的,一次編譯,到處運(yùn)行,在 Windows 上編寫的代碼可以不加修改的移植到 Linux 上,反之也可以。

  在世界編程語(yǔ)言排行榜中,Java幾乎占據(jù)著第二名的位置,僅次于C語(yǔ)言。

  二、String

  1、初始化:

  一般由String聲明的字符串,長(zhǎng)度是不可變的,這也是它與StringBuffer和StringBuilder最直觀的一個(gè)區(qū)別。一般初始化方式:String s = "hello world";經(jīng)過(guò)這條語(yǔ)句,JVM的棧內(nèi)存中產(chǎn)生一個(gè)s變量,堆內(nèi)存中產(chǎn)生hello world字符串對(duì)象。s指向了hello world的地址。像上面這種方式產(chǎn)生的字符串屬于直接量字符串對(duì)象,JVM在處理這類字符串的時(shí)候,會(huì)進(jìn)行緩存,產(chǎn)生時(shí)放入字符串池,當(dāng)程序需要再次使用的時(shí)候,無(wú)需重新創(chuàng)建一個(gè)新的字符串,而是直接指向已存在的字符串。

  2、String s = "123" + "456"內(nèi)存中產(chǎn)生幾個(gè)字符串對(duì)象?

  這是個(gè)比較有爭(zhēng)議的問(wèn)題,面試的時(shí)候,老師還挺喜歡問(wèn),論壇上大家說(shuō)幾個(gè)的也有,我給大家分析一下,因?yàn)槲覀兦懊嬗刑岬絁ava字符串的緩存機(jī)制,編譯器在編譯的時(shí)候會(huì)進(jìn)行優(yōu)化,所以在編譯的過(guò)程中123和456被合成了一個(gè)字符串"123456",因此,如果緩存池中目前沒(méi)有123456這個(gè)對(duì)象,那么會(huì)產(chǎn)生一個(gè),即""123456",且棧中產(chǎn)生一個(gè)引用s指向它,如果緩存池中已經(jīng)存在"123456",那么將產(chǎn)生0個(gè)對(duì)象,直接用s指向它。

  3、StringBuffer、StringBuilder

  StringBuffer和StringBuilder就是所謂的可變字符串類,共四個(gè)構(gòu)造方法:

  StringBuffer()

  public StringBuffer(int paramInt)

  public StringBuffer(String paramString)

  public StringBuffer(CharSequence paramCharSequence)

  觀察其源碼發(fā)現(xiàn),使用StringBuffer()時(shí),默認(rèn)開(kāi)辟16個(gè)字符的長(zhǎng)度的空間,使用public StringBuffer(int paramInt)時(shí)開(kāi)辟指定大小的空間,使用public StringBuffer(String paramString)時(shí),開(kāi)辟paramString.length+16大小的空間。都是調(diào)用父類的構(gòu)造器super()來(lái)開(kāi)辟內(nèi)存。這方面StringBuffer和StringBuilder都一樣,且都實(shí)現(xiàn)AbstractStringBuilder類。

  二者幾乎沒(méi)什么區(qū)別,基本都是在調(diào)用父類的各個(gè)方法,一個(gè)重要的區(qū)別就是StringBuffer是線程安全的,內(nèi)部的大多數(shù)方法前面都有關(guān)鍵字synchronized,這樣就會(huì)有一定的性能消耗,StringBuilder是非線程安全的,所以效率要高些。

  三、對(duì)象

  1、初始化順序:總體來(lái)說(shuō)執(zhí)行順序?yàn)椋红o態(tài)塊->靜態(tài)屬性->非靜態(tài)塊->屬性->構(gòu)造器。接下來(lái)我們分析一下類的屬性和方法。

  2、屬性:

  類中的屬性一般分為類屬性(全局變量)、實(shí)例屬性(全局變量)、局部屬性(局部變量)。<我是這么分的,盡管有人不這么分,但是分法無(wú)所謂,理解它們的含義最重要>.

  類屬性:前面已經(jīng)說(shuō)過(guò)就是那些聲明為static的屬性,在整個(gè)過(guò)程中只進(jìn)行一次初始化,在內(nèi)存中只開(kāi)辟一個(gè)空間,不論在哪兒調(diào)用,值保持一致。一旦被修改,所有引用它的地方都會(huì)跟著修改。一般直接通過(guò)類名進(jìn)行調(diào)用。

  實(shí)例屬性:實(shí)例變量是可以不進(jìn)行初始化,比如一個(gè)整型的實(shí)例變量假如沒(méi)有初始化,則默認(rèn)值為0;而局部變量假如不賦初值語(yǔ)法上是通過(guò)的,但是在使用這個(gè)變量是程序就報(bào)錯(cuò)了。實(shí)例變量在堆和棧中都分配內(nèi)存空間,在堆當(dāng)中分配的是對(duì)象本身,而棧中則是對(duì)這個(gè)對(duì)象的引用。

  局部屬性:局部變量是在方法內(nèi)部聲明的變量,生命期僅在方法內(nèi),方法結(jié)束后變量就消失了;局部變量必須初始化再使用,否則會(huì)報(bào)錯(cuò),也就是說(shuō),假如你在方法內(nèi)定義了一個(gè)局部變量,并且沒(méi)有賦值,那么你在使用這個(gè)變量的時(shí)候一定得賦值,不然就報(bào)錯(cuò)了。同時(shí),局部變量可屏蔽全局變量。

  3、重載:

  是指在同一個(gè)類中,具有相同的方法名,不同的參數(shù)列表的方法之間的一種機(jī)制。參數(shù)列表的不同體現(xiàn)在:類型不同、個(gè)數(shù)不同、順序不同,只要滿足任一一個(gè),就可以進(jìn)行方法重載。

  4、重寫:

  重寫是在繼承中存在的,在兩個(gè)類(子類和父類之間存在的關(guān)系)中,子類重寫父類的方法,方法名相同,參數(shù)也相同的一種機(jī)制。

  5、不定參數(shù)調(diào)用

  public static String a(String ... value);

  和下面的效果一樣

  public static String a(String[] value);

  6、類與對(duì)象的關(guān)系

  1)類是一類具有相同屬性的事物的統(tǒng)稱,是一種抽象。

  2)對(duì)象是類的具體體現(xiàn),又稱實(shí)例。

  3)類是一種靜態(tài)的概念,而對(duì)象是一種動(dòng)態(tài)的機(jī)制。

  四、抽象類、接口

  1、抽象類與接口:

  抽象類是一種類,里面除了有抽象方法外,還可以有具體的方法;

  接口里面必須都是抽象的方法;

  在Java中,凡是聲明為形如:abstract void function()的方法,都是抽象方法;

  包含抽象方法的類就是抽象類,抽象類中是可以沒(méi)有抽象方法的;

  有抽象方法的類必須是抽象類;

  抽象類不一定有實(shí)體方法。

  2、繼承:

  Java繼承機(jī)制不允許多重繼承類,但一個(gè)類允許實(shí)現(xiàn)多個(gè)接口

  繼承抽象類時(shí),必須重寫其抽象方法;

  抽象類不能被聲明為final類型的,因?yàn)榧觙inal關(guān)鍵字的類保證不能被繼承,因此為抽象類加final關(guān)鍵字,這個(gè)類就沒(méi)法用了。抽象類只能被繼承,不能被實(shí)例化!

  聲明為interface的類為接口,比抽象類更加抽象的一種機(jī)制。在接口中,我們不能提供任何實(shí)現(xiàn),所有方法必須都是抽象的,可以不加 abstract關(guān)鍵字,但是編譯器對(duì)于接口中的方法,都是直接按抽象方法處理的。我們通過(guò)implements來(lái)實(shí)現(xiàn)某個(gè)接口。當(dāng)我們實(shí)現(xiàn)某個(gè)接口時(shí),必須重寫其所有方法。

  3、總結(jié)一下抽象類與接口的區(qū)別和聯(lián)系:

  a) 抽象類是類,可以有實(shí)體方法。

  b) 抽象類不能實(shí)現(xiàn)多繼承,而接口可以。

  c) 如果需要?jiǎng)?chuàng)建不帶任何方法定義和成員變量的基類,則使用接口,如果類中需要有部分具體的實(shí)現(xiàn),則使用抽象類。

  d) 如果事先想要將某類設(shè)計(jì)為一個(gè)基類,那么首選接口。

【計(jì)算機(jī)二級(jí)《Java語(yǔ)言程序設(shè)計(jì)》知識(shí)考點(diǎn)】相關(guān)文章:

2017計(jì)算機(jī)二級(jí)Java語(yǔ)言程序設(shè)計(jì)知識(shí)點(diǎn)09-21

計(jì)算機(jī)二級(jí)《Java語(yǔ)言程序設(shè)計(jì)》考試知識(shí)點(diǎn)09-30

計(jì)算機(jī)二級(jí)《Java語(yǔ)言程序設(shè)計(jì)》知識(shí)點(diǎn)練習(xí)10-27

二級(jí)計(jì)算機(jī)Java語(yǔ)言程序設(shè)計(jì)試題10-11

計(jì)算機(jī)二級(jí)JAVA考試考點(diǎn)知識(shí)06-14

2016計(jì)算機(jī)二級(jí)考試Java語(yǔ)言程序設(shè)計(jì)輔導(dǎo)08-29

計(jì)算機(jī)二級(jí)考試《C語(yǔ)言程序設(shè)計(jì)》考點(diǎn):C語(yǔ)言的特點(diǎn)08-05

2017計(jì)算機(jī)二級(jí)C語(yǔ)言考點(diǎn)知識(shí)09-02

計(jì)算機(jī)二級(jí)C語(yǔ)言《基本知識(shí)》考點(diǎn)06-14