JAVA練習--第四章第一次作業

下面程序運行的結果是( )
class Demo{
public static void main(String[] args){
try{
int x = div(1,2);
}catch(Exception e){
System.out.println(e);
}
System.out.println(x)
}
public static int div(int a,int b){
return a / b ;
}
}
A、輸出1
B、輸出0
C、輸出0.5
D、編譯失敗
正確答案: C 我的答案:C得分: 2.0分
答案解析:

返回兩數相除的結果
2
下面關於throws作用的描述中,正確的是( )
A、一個方法只能拋出一個異常信息
B、一個方法上使用throws聲明一個異常說明這個方法運行時一定會拋出這個異常
C、throws可以聲明在方法體中用來指定拋出的具體異常
D、throws出現在方法函數頭
正確答案: D 我的答案:D得分: 2.0分
答案解析:

throws關鍵字需要寫在方法聲明的後面,throws後面需要聲明方法中發生異常的類型,通常將這種做法稱爲方法聲明拋出一個異常
3
下面程序的運行結果是( )
public class Demo {
public static void main(String[] args) {
try {
System.out.println(10 / 0);
} catch (RuntimeException e) {
System.out.println(“RuntimeException”);
} catch (ArithmeticException e) {
System.out.println(“ArithmeticException”);
}
}
}
A、編譯失敗
B、編譯通過,沒有結果輸出
C、輸出:RuntimeException
D、輸出:ArithmeticException
正確答案: A 我的答案:A得分: 2.0分
答案解析:

在用try…catch處理異常的時候,子類異常一定要先catch,父類異常最後catch
4
下列選項中,不可以被final修飾的是?( )
A、接口
B、類
C、方法
D、變量
正確答案: A 我的答案:A得分: 2.0分
答案解析:

final關鍵字可用於修飾類、變量和方法
5
在Java中,能實現多重繼承效果的方式是
A、內部類
B、適配器
C、同步
D、接口
正確答案: D 我的答案:D得分: 2.0分
答案解析:

本題考查java中多重繼承的概念。首先要區分選項中各個概念。內部類是在一個類中的內部嵌套定義的類,主要用來生成時間適配器。適配器定義一個包裝類,包裝有不兼容接口的對象。這個包裝類指的就是適配器,它包裝的對象就是適配者,適配器提高客戶類需要的接口。接口是一種只含有抽象方法或常量的一種特殊的抽象類,因爲接口不包括任何實現,所以與存儲空間沒有任何關係,將多個接口合併,即多重繼承就可以很容易實現,選項D正確。同步主要用在多線程程序設計中。
6
下列關於接口的描述,錯誤的是?()
A、接口不是Object類的子類
B、一個接口只能繼承一個接口
C、一個接口可以繼承多個接口
D、接口不能被實例化
正確答案: B 我的答案:B得分: 2.0分
答案解析:

一個類通過implements關鍵字實現接口時,可以實現多個接口,被實現的多個接口之間要用逗號隔開
7
下列選項中,不屬於運行時異常類子類的是( )
A、ArrayStoreException
B、ClassCastException
C、IllegalArgumentException
D、ThreadDeath
正確答案: D 我的答案:D得分: 2.0分
答案解析:

ThreadDeath屬於Error類的子類
8
下列選項中,用戶創建歸檔文件的jar命令是( )
A、jar -c
B、jar -v
C、jar -f
D、jar -x
正確答案: A 我的答案:A得分: 2.0分
答案解析:

c參數用於創建歸檔文件
9
閱讀下段代碼,
class Dog
{
public String name;
Dog(String name){
this.name =name;
}
}
public class Demo1
{
public static void main(String[] args){
Dog dog1 = new Dog(“xiaohuang”);
Dog dog2 = new Dog(“xiaohuang”);
String s1 = dog1.toString();
String s2 = dog2.toString();
String s3 = “xiaohuang”;
String s4 = “xiaohuang”;
}
}
返回值爲true的是?( )
A、dog1.equals(dog2)
B、s1.equals(s2)
C、s3.equals(s4)
D、dog1==dog2
正確答案: C 我的答案:C得分: 2.0分
答案解析:

選項A比較的是兩個對象的地址,結果爲false,選項B比較的是dog1和dog2對象的to String()值,結果爲false,選項C,比較的是內容,內容相同,所以爲true,選項D比較的是dog1和dog2對象的地址,結果爲false
10
已知類的繼承關係如下:
class Employee;
class Manager extends Employeer;
class Director extends Employee;
則以下語句能通過編譯的有哪些?( )
A、Employee e=new Manager();
B、Director d=new Manager();
C、Director d=new Employee();
D、Manager m=new Director();
正確答案: A 我的答案:A得分: 2.0分
答案解析:

11
在下面哪種情況下,可以使用方法重寫?( )
A、父類方法中的形參不適用於子類使用時
B、父類中的方法在子類中沒有時
C、父類的功能無法滿足子類的需求時
D、父類方法中的返回值類型不適合子類使用
正確答案: C 我的答案:C得分: 2.0分
答案解析:

父類的功能無法滿足子類的需求時,這時候可以使用方法的重寫。
12
class MyException extends (1) {
}
public class Demo {
public static void main(String[] args) {
try {
show();
} catch ( (2) e) {
e.printStackTrace();
}
}
public static void show() (3) MyException {
throw new MyException();
}
以上程序,創建了一個自定義異常(編譯異常),請補全空白處代碼( )
A、(1) Exception (2) MyException (3) throws
B、(1) MyException (2) Exception (3) throws
C、(1) Exception (2) Exception (3) throws
D、(1) Exception (2) MyException (3) Exception
正確答案: A 我的答案:A得分: 2.0分
答案解析:

自定義的異常類繼承自Exception或其子類。Throws用於拋出異常
13
jar命令解壓縮jar文件,需要的參數是( )
A、c
B、v
C、x
D、f
正確答案: C 我的答案:C得分: 2.0分
答案解析:

jar解壓縮的參數是x
14
已知類的繼承關係如下:
class Employee;
class Manager extends Employeer;
class Director extends Employee;
則以下語句能通過編譯的有哪些?
A、Employee e=new Manager();
B、Director d=new Manager();
C、Director d=new Employee();
D、Manager m=new Director();
正確答案: A 我的答案:A得分: 2.0分
答案解析:

15
編譯運行下面的程序,結果是什麼?
public class A {
public static void main(String[] args) {
B b = new B();
b.test();
}
void test() {
System.out.print(“A”);
}
}
class B extends A {
void test() {
super.test();
System.out.print(“B”);
}
}
A、產生編譯錯誤
B、代碼可以編譯運行,並輸出結果AB
C、代碼可以編譯運行,但沒有輸出
D、編譯沒有錯誤,但會產生運行時異常
正確答案: B 我的答案:B得分: 2.0分
答案解析:

16
System類位於以下哪個包中?
修改
A、java.io
B、java.util
C、java.awt
D、java.lang
正確答案: D 我的答案:D得分: 2.0分
答案解析:

17
函數重寫與函數重載的相同之處是?()
A、權限修飾符
B、函數名
C、返回值類型
D、形參列表
正確答案: B 我的答案:B得分: 2.0分
答案解析:

無論是函數重寫還是函數重載都要求函數名要一致
18
自定義運行時異常,必須繼承自( )類
A、Error
B、Exception
C、RuntimeException
D、Throwable
正確答案: C 我的答案:C得分: 2.0分
答案解析:

RuntimeException運行時異常的超類
19
下面對於final的描述中,錯誤的是?()
A、final修飾的局部變量可以被重新賦值
B、final修飾的變量被稱之爲常量
C、final修飾的基本數據類型變量,不能改變其值
D、final修飾的引用數據類型變量,不能改變其地址值
正確答案: A 我的答案:A得分: 2.0分
答案解析:

final修飾的局部變量不可以被重新賦值
20
下列異常中,屬於編譯時異常的是( )
A、NumberFormatException
B、ArithmeticException
C、Exception
D、RuntimeException
正確答案: C 我的答案:C得分: 2.0分
答案解析:

NumberFormatException ArithmeticException RuntimeException都是運行時異常
21
在Java語言中,以下哪個關鍵字用於在方法上聲明拋出異常?( )
A、try
B、catch
C、throws
D、throw
正確答案: C 我的答案:C得分: 2.0分
答案解析:

22
下面程序的運行結果是( )
public class Demo {
public static void main(String[] args) {
try {
System.out.println(10 / 0);
System.out.println(“除法正常運行”);
} catch (ArithmeticException e) {
System.out.println(“除數不能爲0”);
}
}
}
A、編譯失敗
B、編譯通過,沒有結果輸出
C、輸出:除法正常運行
D、輸出:除數不能爲0
正確答案: D 我的答案:D得分: 2.0分
答案解析:

雖然是運行時期異常,但是也可以使用try…catch語句進行處理。一旦進入處理語句就不會再回去執行
23
在JDK8以前,下列關於接口的說法中,錯誤的是?( )
A、接口中定義的方法默認使用"public abstract"來修飾
B、接口中的變量默認使用"public static final"來修飾
C、接口中的所有方法都是抽象方法
D、接口中定義的變量可以被修改
正確答案: D 我的答案:D得分: 2.0分
答案解析:

接口中定義的變量是常量,不能被修改
24
下列關於對象的類型轉換的描述,說法錯誤的是( )
A、對象的類型轉換可通過自動轉換或強制轉換進行
B、無繼承關係的兩個類的對象之間試圖轉換會出現編譯錯誤
C、由new語句創建的父類對象可以強制轉換爲子類的對象
D、子類的對象轉換爲父類類型後,父類對象不能調用子類的特有方法
正確答案: C 我的答案:C得分: 2.0分
答案解析:

由new語句創建的父類對象不能轉換爲子類的對象,否則會報編譯出錯
25
包含Java中大量工具類、集合類的包是( )
A、java.util
B、java.io
C、java.awt
D、java.lang
正確答案: A 我的答案:A得分: 2.0分
答案解析:

java.util:包含Java中大量工具類、集合類等,例如Arrays、List、Set等
26
在類的繼承關係中,需要遵循以下哪個繼承原則?
A、多重
B、單一
C、雙重
D、不能繼承
正確答案: B 我的答案:B得分: 2.0分
答案解析:

27
final修飾符不可以修飾如下哪個內容?()
A、類
B、接口
C、方法
D、變量
正確答案: B 我的答案:B得分: 2.0分
答案解析:

final關鍵字可用於修飾類、變量和方法
28
下列選項中,用於解壓jar文件的命令是( )
A、jar –c
B、jar -x
C、jar -v
D、jar -f
正確答案: B 我的答案:B得分: 2.0分
答案解析:

參數x用於解壓
29
下面對於final修飾方法的描述中,正確的是?()
A、final修飾的靜態方法不能被類名調用
B、final修飾的方法不能被子類重寫
C、final修飾的抽象方法可以被子類重寫
D、final只能修飾非靜態的方法
正確答案: B 我的答案:B得分: 2.0分
答案解析:

final修飾的方法不能被子類重寫
30
​如果父類的方法是靜態的,則子類的方法被()修飾才能覆蓋父類的靜態方法 ?
A、protected
B、static
C、private
D、final
正確答案: B 我的答案:B得分: 2.0分
答案解析:

只有子類的方法爲靜態時才能重寫父類的靜態方法
31
以下關於繼承的描述,說法正確的是( )
A、子類繼承父類的所有屬性和方法
B、子類可以繼承父類的私有的屬性和方法
C、子類可以繼承父類的公有的屬性和方法
D、創建子類對象時,父類的所有構造方法都會被執行
正確答案: C 我的答案:C得分: 2.0分
答案解析:

子類可以繼承父類的非私有成員,並且在創建子類時默認會調用父類的無參構造方法
32
System類位於以下哪個包中?( )
A、java.is
B、java.util
C、java.awt
D、java.lang
正確答案: D 我的答案:D得分: 2.0分
答案解析:

33
下列選項中,關於接口的定義正確的是?( )
A、abstract class Demo1{ abstract void speak(); abstract void eat(); }
B、interface Demo2{ void speak(); void eat(); }
C、interface Demo3{ void speak(); void eat(){}; }
D、interface Demo4{ void speak(){ System.out.println(“ITCAST”); } void eat(); }
正確答案: B 我的答案:B得分: 2.0分
答案解析:

接口中的方法不能有方法體,接口由interface關鍵字修飾
34
以下關於編譯異常說法正確的是( )
A、編譯異常就是指Exception以及其子類
B、編譯異常如果產生,可以不用處理
C、編譯異常如果產生,必須處理,要麼捕獲,要麼拋出
D、編譯異常指的就是Error
正確答案: C 我的答案:C得分: 2.0分
答案解析:

編譯異常如果產生,必須處理,要麼捕獲,要麼拋出
35
Java中所有的類都是通過直接或間接地繼承( )類得到的
A、java.lang.Object
B、java.lang.Class
C、任意類
D、以上答案都不對
正確答案: A 我的答案:A得分: 2.0分
答案解析:

Object是所有類的父類
36
public class Example {
public static void main(String[] args) {
try{
int rst = 4/0;
System.out.println("ret = "+rst);
}catch(Exception e){
System.out.println(“catch語句塊執行”);
return;
}finally{
System.out.println(“finally語句塊執行”);
}
System.out.println(“程序繼續向下執行”);
}
}
運行以上程序,輸出的結果是( )
A、catch語句塊執行
B、catch語句塊執行 程序繼續向下執行
C、catch語句塊執行 finally語句塊執行
D、0 程序繼續向下執行
正確答案: C 我的答案:B得分: 0.0分
答案解析:

在try語句塊中發生了除零異常,因此會執行catch語句塊中的內容,輸出"catch語句塊執行",finally語句塊中表示一定會執行的語句,雖然catch中有return,但依然會輸出"finally語句塊執行"
37
Java語言的類間的繼承關係是( )。
A、多重的
B、單重的
C、線程的
D、不能繼承
正確答案: B 我的答案:B得分: 2.0分
答案解析:

38
下列選項中,關於final修飾成員變量的說法正確的是?( )
A、被final修飾的成員變量可以被多次賦值
B、被final修飾的成員變量爲常量
C、final只能在接口中修飾成員變量
D、以上都不對
正確答案: B 我的答案:B得分: 2.0分
答案解析:

被final修飾的變量爲常量,不能被第二次賦值或改變引用
39
請定義一個由public修飾符修飾的int型成員變量MAX_LENGTH,並使該值保持爲常數100,則定義這個變量的語句是?()
A、public int MAX_LENGTH=100
B、public const int MAX_LENGTH=100
C、final int MAX_LENGTH=100
D、public final int MAX_LENGTH=100
正確答案: D 我的答案:D得分: 2.0分
答案解析:

應題目的要求,需要將該值保持爲常數,那麼就需要使用關鍵字final,所以選擇D,const是java的保留關鍵字,在java中使用final定義常量。
40
下列選項中,可以導入指定包中所有類的是( )
A、package包名;
B、package 包名.;
C、import 包名;
D、import 包名.
;
正確答案: D 我的答案:D得分: 2.0分
答案解析:

如果有時候需要用到一個包中的許多類,則可以使用“import 包名.*; ”來導入該包下所有類
41
下面選項中,哪個關鍵字可以修飾局部變量?()
A、abstract
B、final
C、static
D、private
正確答案: B 我的答案:B得分: 2.0分
答案解析:

final可以修飾局部變量
42
final修飾符修飾方法時,不能和以下哪個修飾符共用?()
A、public
B、static
C、abstract
D、synchronized
正確答案: C 我的答案:C得分: 2.0分
答案解析:

final修飾符不能和abstract修飾符一起使用
43
下列選項中,可以被final修飾符修飾的是?()
A、抽象方法
B、局部變量
C、接口
D、抽象類
正確答案: B 我的答案:B得分: 2.0分
答案解析:

final關鍵字一般用於修飾類、變量和方法。還可以修飾局部變量。但不能與abstract修飾符一起使用,而且不能用於接口中
44
下列關於protected的說法中,正確的是( )
A、protected修飾的方法,只能給子類使用
B、protected修飾的類,類中的所有方法只能給子類使用
C、如果一個類的成員被protected修飾,那麼這個成員既能被同一包下的其它類訪問,也能被不同包下該類的子類訪問
D、以上都不對
正確答案: C 我的答案:A得分: 0.0分
答案解析:

如果一個類的成員被protected訪問控制符修飾,那麼這個成員既能被同一包下的其它類訪問,也能被不同包下該類的子類訪問
45
下面哪個修飾符不可以修飾接口中的成員變量?()
A、public
B、static
C、final
D、private
正確答案: D 我的答案:D得分: 2.0分
答案解析:

接口中的成員變量其實是一個常量,用public static final修飾,所以,用private修飾是錯誤的
46
下了關於接口繼承的說法中,正確的是?()
A、接口繼承自Object類
B、一個接口只能繼承一個接口
C、一個接口可以繼承多個接口
D、接口不能被繼承
正確答案: C 我的答案:C得分: 2.0分
答案解析:

java中接口跟類是兩個並行的概念,所有類都繼承Object,但接口是接口,不繼承Object所以A錯誤,一個接口可以繼承多個接口
47
父類中的方法被以下哪個關鍵字修飾後不能被重寫?( )
A、public
B、satic
C、final
D、void
正確答案: C 我的答案:C得分: 2.0分
答案解析:

如果方法被final修飾了,該方法不能被重寫
48
下列關於繼承的描述中,錯誤的是()
A、在Java中,類只支持單繼承,不允許多重繼承,也就是說一個類只能有一個直接父類
B、多個類可以繼承一個父類
C、在Java中,多層繼承是可以的,即一個類的父類可以再去繼承另外的父類,例如C類繼承自B類,而B類又可以去繼承A類,這時,C類也可稱作A類的子類
D、Java是支持多繼承的
正確答案: D 我的答案:D得分: 2.0分
答案解析:

Java不支持多繼承
49
如果類的成員被( )訪問控制符來修飾,則這個成員只能被該類的其它成員訪問,其它類無法直接訪問
A、private
B、default
C、protected
D、public
正確答案: A 我的答案:A得分: 2.0分
答案解析:

如果類的成員被private訪問控制符來修飾,則這個成員只能被該類的其它成員訪問,其它類無法直接訪問。類的良好封裝就是通過private關鍵字來實現的
50
閱讀下面的代碼,編譯後會生成幾層包?( )
package cn.itcast.mypack;
class PackageDemo
{
public static void main(String [] args)
{
System.out.println(“Hello package!”);
}
}
A、一層包(cn)
B、二層包(cn.itcast)
C、三層包(cn.itcast.mypack)
D、四層包(cn.itcast.mypack.PackageDemo)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章