- Java面向?qū)ο筌浖_發(fā)
- 姚駿屏 汪衛(wèi)星主編
- 2098字
- 2018-12-29 19:04:18
鞏固與提高
1.選擇題
(1)對于構(gòu)造方法,下列敘述中不正確的是( )。
A.構(gòu)造方法是類的一種特殊方法,它的方法名必須與類名相同
B.構(gòu)造方法的返回類型只能是void型
C.構(gòu)造方法的主要作用是完成對類的對象的初始化工作
D.一般在創(chuàng)建新對象時,系統(tǒng)會自動調(diào)用構(gòu)造方法
(2)在Java中,一個類可同時定義多個同名的方法,這些方法的參數(shù)個數(shù)、參數(shù)類型或參數(shù)順序有所不相同,返回的值也可以不相同。這種面向?qū)ο蟪绦蛱匦苑Q為( )。
A.隱藏
B.重寫
C.重載
D.Java不支持此特性
(3)下面哪個修飾符修飾的變量是所有同一個類生成的對象共享的( )。
A.public
B.private
C.static
D.final
(4)下面關(guān)于Java中類的說法中,不正確的是( )。
A.類體中只能有變量定義和成員方法的定義,不能有其他語句
B.構(gòu)造函數(shù)是類中的特殊方法
C.類一定要聲明為public,才可以執(zhí)行
D.一個Java文件中可以有多個class定義
(5)方法的重載是指同一個類中( )。
A.兩個或兩個以上的方法取相同的方法名,但是參數(shù)的個數(shù)或類型不同
B.兩個以上的方法取相同的名字和具有相同參數(shù)個數(shù)和相同的參數(shù)類型
C.兩個以上的方法名字不同,但形參的個數(shù)或類型相同
D.兩個以上的方法取相同的方法名,但方法的返回值類型相同
(6)下列說法中,正確的是( )。
A.Java語言中類只允許單一繼承
B.Java語言只允許實(shí)現(xiàn)一個接口
C.Java語言不允許同時繼承一個類并實(shí)現(xiàn)一個接口
D.Java語言中類支持多重繼承
(7)下面對構(gòu)造方法的描述中,不正確的是( )。
A.構(gòu)造方法的方法名必須與類名相同
B.構(gòu)造方法可以有參數(shù),所以也可以有返回值
C.構(gòu)造方法可以重載
D.構(gòu)造方法可以設(shè)置默認(rèn)參數(shù)
(8)關(guān)于類的靜態(tài)成員的描述中不正確的是( )。
A.靜態(tài)成員不屬于對象,是類的共享成員
B.靜態(tài)數(shù)據(jù)成員要在類外定義和初始化
C.靜態(tài)成員方法不能引用this關(guān)鍵字
D.靜態(tài)成員方法可以操作靜態(tài)數(shù)據(jù)成員
(9)下列選項(xiàng)中,用于定義子類時指明父類名的關(guān)鍵字是( )。
A.import
B.package
C.extends
D.class
(10)下列關(guān)鍵字中,用于聲明類的關(guān)鍵字是( )。
A.implement B.package
C.extends
D.class
(11)有一個類A,以下為其構(gòu)造方法的聲明,其中正確的是( )。
A.void A(int x){...}
B.public A(int x){...}
C.public a(int x){...}
D.static A(int x){...}
(12)下列哪一組關(guān)鍵字全是用于定義類成員的訪問控制權(quán)( )。
A.class,float,double,public
B.float,boolean,int,long
C.char,extends,float,double
D.public,private,protected
(13)運(yùn)行下面的程序,正確的輸出結(jié)果為( )。
public class Cat{ String name; public void show(){ System.out.print("Cat"); } public static void main(String args[]){ Cat c = new Tiger( ); c.show(); } } class Tiger extends Cat{ public void show(){ System.out.print("Tiger"); } }
A.Cat
B.Tiger
C.Cat Tiger
D.Tiger Cat
(14)設(shè)有下面的一個類定義:
class AA{ static void show(){ System.out.println("我喜歡Java!"); } } class BB{ void show(){ System.out.println("我喜歡C++!"); } }
若已經(jīng)使用AA類創(chuàng)建對象a和BB類創(chuàng)建對象b,則下面哪兩個方法調(diào)用是正確的( )。
A.a.show() b.show()
B.AA.show();BB.show();
C.AA.show();b.show();
D.a.show();BB.show();
2.判斷題
(1)所謂數(shù)據(jù)封裝就是將一組數(shù)據(jù)和與這組數(shù)據(jù)有關(guān)操作組裝在一起,形成一個實(shí)體,這實(shí)體也就是對象。( )
(2)靜態(tài)初始化器是構(gòu)造方法之前加上static修飾符。( )
(3)在定義一個類時,若想讓類中的成員不能在類的外部訪問,則必須在成員前面加上private修飾符。( )
(4)類的靜態(tài)成員屬于類所有,實(shí)例成員屬于對象所有。( )
(5)最終類不能派生子類,最終方法不能被重寫。( )
(6)重載方法的參數(shù)必須不同,或者是參數(shù)個數(shù)不同,或者是參數(shù)類型不同。重載的多個方法必須返回相同的數(shù)據(jù)類型。( )
(7)類中限定為public的成員可以被所有的類訪問。( )
3.填空題
(1)引用直接父類中的成員變量用____________關(guān)鍵字;引用當(dāng)前對象的成員變量用_____________關(guān)鍵字。
(2)Java中類成員的權(quán)限限定詞有以下幾種:private、public、_________、_________。其中,_________的限定范圍最大。
(3)當(dāng)類未用訪問權(quán)限修飾符(public或private)修飾時,Java語言默認(rèn)此類的訪問權(quán)限是__________。
(4)如果子類中的某個成員變量的變量名與它父類中的某個成員變量完全一樣,則稱子類中的這個變量__________父類的同名變量。
(5)如果子類中的某個方法的名字、返回值類型和__________與它的父類中的某個方法完全一樣,則稱子類中的這個方法重寫了父類的同名方法。
(6)Java語言中用于表示類間繼承的關(guān)鍵字是___________。
4.操作題
(1)設(shè)計一個盒子類Box,它有長、寬、高三個私有成員屬性,包含無參數(shù)和有參數(shù)的構(gòu)造方法,分別實(shí)現(xiàn)設(shè)置和獲取屬性的setter和getter方法,以及求盒子體積的公有方法。其中,構(gòu)造方法用于對成員變量初始化,無參數(shù)的構(gòu)造方法將成員變量初始化為0值。再編寫一個主類BoxTest,在其主方法main()中創(chuàng)建若干個Box對象,輸出其長、寬、高及其體積的值。
(2)定義com.bean包,將習(xí)題(1)定義的Box類放入com.bean中;定義com.test包,將主類BoxTest放入com.test包中,在main()中導(dǎo)入com.bean包,使用Box類輸出長方形的長、寬、高及其體積的值。
(3)定義一個動物類Animal,有動物類型屬性type和動物發(fā)聲的方法sound();定義基于動物類的狗類Dog和貓類Cat,這兩個類都要求覆蓋父類的發(fā)聲方法;定義AnimalDemo類,聲明一個Animal對象,分別創(chuàng)建一個Dog、Cat類的對象,然后通過Animal對象來訪問Dog、Cat類對象的sound()方法。
(4)設(shè)計一個表示二維平面上圓的類Circle,有表示圓半徑的protected類型的成員變量radius、獲取和設(shè)置radius值的public方法、計算圓面積的public方法。設(shè)計一個表示圓柱體的類Cylinder,它繼承自類Circle,還包含有表示圓柱體高的protected類型的成員變量height、獲取和設(shè)置height值的public方法、計算圓柱體體積的public方法。建立若干個Cylinder對象,輸出其半徑、高及其體積的值。要求:
A.每個類包含無參數(shù)和有參數(shù)的構(gòu)造方法。構(gòu)造方法用于對成員變量初始化,無參數(shù)的構(gòu)造方法將成員變量初始化為0值。
B.子類的構(gòu)造方法調(diào)用父類的構(gòu)造方法,對父類中的成員變量初始化。
- 手機(jī)安全和可信應(yīng)用開發(fā)指南:TrustZone與OP-TEE技術(shù)詳解
- Unity 2020 By Example
- Beginning C++ Game Programming
- Elastic Stack應(yīng)用寶典
- 正則表達(dá)式經(jīng)典實(shí)例(第2版)
- 微信小程序開發(fā)解析
- RabbitMQ Essentials
- 微信小程序開發(fā)與實(shí)戰(zhàn)(微課版)
- 代替VBA!用Python輕松實(shí)現(xiàn)Excel編程
- 算法圖解
- SAP Web Dynpro for ABAP開發(fā)技術(shù)詳解:基礎(chǔ)應(yīng)用
- jQuery Mobile Web Development Essentials(Second Edition)
- Three.js Essentials
- 零基礎(chǔ)入門Python數(shù)據(jù)分析與機(jī)器學(xué)習(xí)
- Access 2010數(shù)據(jù)庫教程(微課版)