freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

java基礎(chǔ)入門課后習(xí)題與答案(編輯修改稿)

2024-07-19 22:08 本頁面
 

【文章內(nèi)容簡介】 方法不能有方法體,所以定義的eat()方法是錯誤的。接口中的方法必須在子類中全部實現(xiàn),由于run()方法在子類中并沒有重新實現(xiàn),所以這也是錯誤的。)interface Animal { void breathe()。 void run()。 void eat(){}。}class Dog implements Animal { public void breathe() { (I’m breathing)} public void eat() { (I’m eathing)}}public class test04 { public static void main(String [] args) { Dog dog = new Dog()。 ()。 ()。}}五、簡答題 什么是方法重寫? 在繼承關(guān)系中,子類的方法與父類的某一方法具有相同的方法名、返回類型和參數(shù)列表,則稱子類的該方法重寫(覆蓋)父類的方法。 什么是多態(tài)? 多態(tài)意味著一個對象有著多種形態(tài),可以在特定的情況下,表現(xiàn)不同的狀態(tài),從而對應(yīng)著不同的屬性和方法。簡單的說,多態(tài)就是使用父類類型的變量引用子類對象,根據(jù)被引用子類對象的特性,程序會得到不同的運行效果。 抽象類和接口的區(qū)別? 在Java中,使用abstract關(guān)鍵字修飾的類稱之為抽象類。抽象類是不能被實例化的,通常需要寫一個子類來繼承抽象類,同時實例化子類來獲得該類的對象。抽象類通常用于表示一種抽象的概念。接口可以說是一種特殊的抽象類,接口中只能定義常量和抽象方法。由于接口的特殊性,在定義時需要使用interface關(guān)鍵字。六、編程題請按照題目的要求編寫程序并給出運行結(jié)果。 設(shè)計一個學(xué)生類Student和它的一個子類Undergraduate,要求如下:1) Student類有name(姓名)、和age(年齡)屬性,一個包含兩個參數(shù)的構(gòu)造方法,用于給name和age屬性賦值,一個show()方法打印Student的屬性信息2) 本科生類Undergraduate增加一個degree(學(xué)位)屬性。有一個包含三個參數(shù)的構(gòu)造方法,前兩個參數(shù)用于給繼承的name和age屬性賦值,第三個參數(shù)給degree專業(yè)賦值,一個show()方法用于打印Undergraduate的屬性信息3) 在測試類中分別創(chuàng)建Student對象和Undergraduate對象,調(diào)用它們的show()。設(shè)計一個Shape接口和它的兩個實現(xiàn)類Square和Circle,要求如下:1)Shape接口中有一個抽象方法area(),方法接收有一個double類型的參數(shù),返回一個double類型的結(jié)果2)Square和Circle中實現(xiàn)了Shape接口的area()抽象方法,分別求正方形和圓形的面積并返回在測試類中創(chuàng)建Square和Circle對象,計算邊長為2的正方形面積和半徑為3的圓形面積自定義一個異常類NoThisSoundException和Player類,在Player的play()方法中使用自定義異常,要求入下:1) NoThisSongException繼承Exception類,類中有一個無參和一個接收一個String類型參數(shù)的構(gòu)造方法,構(gòu)造方法中都使用super關(guān)鍵字調(diào)用父類的構(gòu)造方法。2) Player類中定義一個play(int index)方法,方法接收一個int類型的參數(shù),表示播放歌曲的索引,當(dāng)index10時,paly()方法用throw關(guān)鍵字拋出NoThisSongException異常,創(chuàng)建異常對象時,調(diào)用有參的構(gòu)造方法,傳入“您播放的歌曲不存在”。3) 在測試類中創(chuàng)建Player對象,并調(diào)用play()方法測試自定義的NoThisSongException異常,使用try…catch語句捕獲異常,調(diào)用NoThisSongException的getMessage()方法打印出異常信息。第5章 多線程一、填空題一個應(yīng)用程序中有多條并發(fā)執(zhí)行的線索,每條線索都被稱作一個線程______,它們會交替執(zhí)行,彼此間可以進行_通信_____。在實現(xiàn)多線程的程序時有兩種方式,一是通過繼_Thread_____承類,二是通過實現(xiàn)Runnable______接口。yield()方法只能讓相同優(yōu)先級或者更高優(yōu)先級、處于_就緒_____狀態(tài)的線程獲得運行的機會。在Java語言中,同步方法需要用到關(guān)鍵字_synchronized_,對于同步方法而言無需指定同步鎖,它的同步鎖是方法所在的_對象_____,也就是_this_____(關(guān)鍵字)。在多任務(wù)系統(tǒng)中,每個獨立執(zhí)行的程序稱之為_線程_____,也就是“正在運行的程序”。線程的整個生命周期分為五個階段,分別是_新建_____、就緒______、_運行_____、_阻塞_____、和死亡_____。線程的優(yōu)先級用1~10之間的整數(shù)來表示,其中__10___代表優(yōu)先級最高,__1___代表優(yōu)先級最低。在Thread類中,提供了一個start()方法,該方法用于啟動線程______,當(dāng)新線程啟動后,系統(tǒng)會自動調(diào)用__run()____方法。要想解決線程間的通信問題,可以使用__wait()____、notify()______、_notifyALL()_____方法。要將某個線程設(shè)置為后臺線程,需要調(diào)用該線程的_setDaemon(true)_____方法,該方法必須在_start()_____方法之前調(diào)用。二、判斷題當(dāng)我們創(chuàng)建一個線程對象時,該對象表示的線程就立即開始運行。錯如果前臺線程全部死亡,后臺線程也會自動死亡。對同步代碼塊中的鎖對象可以是任意類型的對象。對靜態(tài)方法不能使用synchronized關(guān)鍵字來修飾。錯線程結(jié)束等待或者阻塞狀態(tài)后,會進入運行狀態(tài)。錯三、選擇題Thread類位于下列哪個包中?B A、 B、 C、 D、關(guān)于線程的創(chuàng)建過程,下面四種說法正確的有哪些?(多選)ACA、定義Thread類的子類,重寫Thread類的run()方法,創(chuàng)建該子類的實例對象,調(diào)用對象的start()方法B、定義Thread類的子類,重寫Thread類的run()方法,創(chuàng)建該子類的實例對象,調(diào)用對象的run()方法C、定義一個實現(xiàn)Runnable 接口的類并實現(xiàn)run()方法,創(chuàng)建該類實例對象,將其作為參數(shù)傳遞給Thread類的構(gòu)造方法來創(chuàng)建Thread對象,調(diào)用Thread對象的start()方法 D、定義一個實現(xiàn)Runnable 接口的類并實現(xiàn)run()方法,創(chuàng)建該類對象,然后調(diào)用run()方法對于通過實現(xiàn)Runnable接口創(chuàng)建線程,下面說法正確的有哪些?(多選)ABC A、適合多個相同程序代碼的線程去處理同一個資源的情況 B、把線程同程序代碼、數(shù)據(jù)有效的分離,很好的體現(xiàn)了面向?qū)ο蟮脑O(shè)計思想C、可以避免由于Java的單繼承帶來的局限性 D、編寫簡單,可以不通過Thread類直接創(chuàng)建線程對于線程的生命周期,下面四種說法正確的有哪些?(多選) ABC(BC)  A、調(diào)用了線程的start()方法,該線程就進入運行狀態(tài) (就緒,還要獲得CPU使用權(quán)) B、線程的run()方法運行結(jié)束或被未catch的InterruptedException等異常終結(jié),那么該線程進入死亡狀態(tài)C、線程進入死亡狀態(tài),但是該線程對象仍然是一個Thread對象,在沒有被垃圾回收器回收之前仍可以像引用其它對象一樣引用它 D、線程進入死亡狀態(tài)后,調(diào)用它的start()方法仍然可以重新啟動對于死鎖的描述,下面四種說法正確有哪些?(多選)AB(ABD) A、當(dāng)兩個線程互相等待對方釋放同步鎖時會發(fā)生死鎖 B、Java虛擬機沒有檢測和處理死鎖的措施 C、一旦出現(xiàn)死鎖,程序會發(fā)生異常 D、處于死鎖狀態(tài)的線程處于阻塞狀態(tài),無法繼續(xù)運行下面四個選項中,哪些是線程進入阻塞狀態(tài)的原因?(多選)ABCA、線程試圖獲取某個對象的同步鎖,而該鎖被其它線程持有B、線程調(diào)用了另一個線程的join()方法C、當(dāng)線程調(diào)用了一個阻塞式的IO方法D、線程調(diào)用了setDaemon(boolean b)方法線程調(diào)用sleep()方法后,該線程將進入以下哪種狀態(tài)?CA、就緒狀態(tài) B、運行狀態(tài) C、阻塞狀態(tài) D、死亡狀態(tài) 在以下哪種情況下,線程進入就緒狀態(tài)?DA、線程調(diào)用了sleep()方法時 B、線程調(diào)用了join()方法(終止)C、線程調(diào)用了yield()方法時 D、線程調(diào)用了notify()方法??下面四個選項中,對線程同步的目的描述正確的有哪些?(多選)AD(AB)A、鎖定資源,使同一時刻只有一個線程去訪問它,防止多個線程操作同一個資源引發(fā)錯誤B、提高線程的執(zhí)行效率C、讓線程獨占一個資源D、讓多個線程同時使用一個資源對于wait()方法,下面說法正確的是?(多選)ABCD A、wait()方法的調(diào)用者是同步鎖對象 B、wait()方法使線程進入等待狀態(tài) C、調(diào)用同一鎖對象的notify()或notifyAll()方法可以喚醒調(diào)用wait()方法等待的線程 D、調(diào)用wait()方法的線程會釋放同步鎖對象四、程序分析題閱讀下面的程序,分析代碼是否能編譯通過,如果能編譯通過,請列出運行的結(jié)果。如果不能編譯通過,請說明原因。:不能,RunHandler沒有繼承Thread,不能用Thread創(chuàng)建對象(程序不能編譯通過,因為RunHandler類沒有實現(xiàn)Runnable接口,因此RunHandler的實例對象不能作為參數(shù)傳遞給Thread的構(gòu)造方法。)class RunHandler { public void run(){ (run)。}}public class Test { public static void main(String [] args) { Thread t = new Thread(new RunHandler())。 ()。} }:thisisrun(程序不能編譯通過,因為Thread的子類A重寫的run()方法的訪問級別不能低于父類run()方法的。訪問級別)public class A extends Thread{ protected void run() { (thisisrun())。 } public static void main(String[] args) { A a = new A()。 ()。 }}:Exception(程序不能編譯通過,因為同步方法中調(diào)用wait()方法的對象必須為同步鎖對象)public class Test{ private Object obj=new Object()。 public synchronized void a(){ try { ();() (waiting)。 } catch (InterruptedException e) { (Exception)。 } } public static void main(String[] args) { new Test().a()。 }}“Thread is running”,請在在空格處填上相應(yīng)的代碼。public class B implements Runnable { public static void main(String[] args) { Thread t = new Thread(new B())。 ()_____________________ //此處填空 } public void run() { (Thread is running)。 } public void go() { start(1)。 } public void start(int i) { }}五、簡答題 java中有幾種方法可以實現(xiàn)一個線程?請舉例說明。,覆寫Thread類的run()方法,在run()方法中實現(xiàn)運行在線程上的代碼。new Thread() { public void run(){}}.start()。,同樣是在run()方法中實現(xiàn)運行在線程上的代碼。new Thread(new Runnable(){ public void run(){}}).start() sleep() 和 wait() 有什么區(qū)別?調(diào)用sleep()方法,正在執(zhí)行的線程主動讓出CPU去執(zhí)行其他線程,在sleep()方法指定的時間過后,CPU才會回到這個線程上繼續(xù)往下執(zhí)行,如果當(dāng)前線程進入了同步鎖,sleep()方法并不會釋放鎖,即使當(dāng)前線程使用sleep()方法讓出了CPU,但其它被同步鎖擋住了的線程也無法得到執(zhí)行。wait()在一個已經(jīng)進入了同步鎖的線程內(nèi)進行調(diào)用,讓當(dāng)前線程暫時讓出同步鎖,以便其它正在等待此鎖的線程可以得到同步鎖并運行。當(dāng)其它線程調(diào)用了notify()方法后,調(diào)用wait()方法的線程就會解除wait狀態(tài),當(dāng)再次獲得同步鎖后,程序可以繼續(xù)向下執(zhí)行。六、編程題請按照題目的要求編寫程序并給出運行結(jié)果。通過繼承Thread類的方式創(chuàng)建兩個線程,在Thread構(gòu)造方法中指定線程的名字,并
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1