Java日常練習題,每天進步一點點(14)

承蒙各位厚愛,我們一起每天進步一點點!(鼠標選中空白處查看答案)

1、下面程序的運行結果:()

public static void main(String args[]) {
        Thread t=new Thread(){
        public void  run(){
            dianping();
        }
    };
    t.run();
    System.out.print("dazhong");
    }
    static void dianping(){
        System.out.print("dianping");
}

正確答案: B

dazhongdianping

dianpingdazhong

a和b都有可能

dianping循環輸出,dazhong夾雜在中間

題解:
在上面main()方法中,並沒有創建一個新的線程,隻是簡單地方法調用而已,如果想要創建線程,需要t.start();創建線程,等待cpu時間片,而run()方法隻是簡單地方法調用,所以先執行run(),在輸出dazhong

2、如果int x=20, y=5,則語句System.out.println(x+y +””+(x+y)+y); 的輸出結果是()

正確答案: D

2530

55

2052055

25255

題解:
1)不論有什麼運算,小括號的優先級都是最高的,先計算小括號中的運算,得到x+y +””+25+y
2)任何字符與字符串相加都是字符串,但是是有順序的,字符串前面的按原來的格式相加,字符串後面的都按字符串相加,得到25+“”+25+5
3)上面的結果按字符串相加得到25255

3、有以下類定義:

abstract class Animal{
    abstract void say();
}
public class Cat extends Animal{
    public Cat(){
        System.out.printf("I am a cat");
    }
    public static void main(String[] args) {
        Cat cat=new Cat();
    }
}

運行後:

正確答案: B

I am a cat

Animal能編譯,Cat不能編譯

Animal不能編譯,Cat能編譯

編譯能通過,但是沒有輸出結果

題解:
當一個實體類集成一個抽象類,必須實現抽象類中的抽象方法,抽象類本身沒有錯誤,但是cat類編譯通不過

4、以下代碼的輸出的正確結果是

public class Test {
public static void main(String args[]) {
	String s = "祝你考出好成績!";
	System.out.println(s.length());
	}
}

正確答案: D

24

16

15

8

題解:
別想太多,length() 方法返回的就是字符串的長度,一個 char 可以存下漢字,剩下的數數就完事瞭。
如果想獲得占用字節數的話,可以用 s.getBytes(“GBK”).length,結果就是 16 瞭。

5、下列說法正確的是()

正確答案: B

在類方法中可用this來調用本類的類方法

在類方法中調用本類的類方法時可直接調用

在類方法中隻能調用本類中的類方法

在類方法中絕對不能調用實例方法

題解:
在類方法中不能有this關鍵字,,直接調用類方法即可,A錯誤,B正確,在類方法中可以通過創建實例對象調用類的實例方法,C、D錯誤

6、以下代碼輸出的是:

public class SendValue{
    public String str="6";
    public static void main(String[] args) {
        SendValue sv=new SendValue();
        sv.change(sv.str);
        System.out.println(sv.str);
    }
    public void change(String str) {
        str="10";
    }
}

正確答案: A

6

10

都不對

16

題解:
在這裡插入圖片描述

7、非抽象類實現接口後,必須實現接口中的所有抽象方法,除瞭abstract外,方法頭必須完全一致.

正確答案: B

正確

錯誤

題解:
方法頭:包括修飾符(可大),返回值(可小)、方法名
方法名與參數相同時:
修飾符:可以大於等於父類方法的訪問權限,而非必須一致
返回值:可以小於父類方法返回的類型,而非必須一致
實現接口中的方法是重寫要求 沒必須完全一樣 如接口中返回值是Object 實現接口方法返回值可以是其他的

8、下列關於容器集合類的說法正確的是?

正確答案: C

LinkedList繼承自List

AbstractSet繼承自Set

HashSet繼承自AbstractSet

WeakMap繼承自HashMap

題解:
A.LinkedList是繼承自AbstractSequentialList(抽象類,實現瞭List接口)的,並且實現瞭List接口。所以A錯誤。
B.AbstractSet是實現瞭Set接口的,本身是一個抽象類。繼承自AbstractCollection(抽象類,實現瞭Collection接口)。所以B錯誤。
C.HashSet是繼承自AbstractSet,實現瞭Set接口。所以C正確。
D.WeakMap不存在於java集合框架的。隻有一個叫做WeakHashMap(繼承自AbstractMap)。
在這裡插入圖片描述

9、下面說法正確的是?()

正確答案:B C

調用Thread的sleep()方法會釋放鎖,調用wait()方法不釋放鎖

一個線程調用yield方法,可以使具有相同優先級線程獲得處理器

在Java中,高優先級的可運行的線程會搶占低優先級線程的資源

java中,線程可以調用yield方法使比自己低優先級的線程運行

題解:
yiled方法屬於高風亮節的行為,這個坑位我不上瞭,後面跟我同級別的先上廁所。這樣比較好記!
高優先級的就是你們的縣長,縣長要上廁所,對不起,你得出來,縣長先上,縣長上完瞭,CPU分配到你瞭,你才能繼續拉X。

10、下面的對象創建方法中哪些會調用構造方法 ()?

正確答案:A C

new語句創建對象

調用Java.io.ObjectInputStream的readObject方法

java反射機制使用java.lang.Class或java.lang.reflect.Constructor的newInstance()方法

調用對象的clone()方法

題解:
題目的四個選項是構造方法new,序列化對象,反射,克隆分別創建一個對象的方法,,隻有new和反射用到瞭構造方法

答案匯總:

1、正確答案: B

2、正確答案: D

3、正確答案: B

4、正確答案: D

5、正確答案: B

6、正確答案: A

7、正確答案: B

8、正確答案: C

9、正確答案: B C

10、正確答案: A C

總結

本篇文章就到這裡瞭,希望能給你帶來幫助,也希望您能夠多多關註WalkonNet的更多內容!

推薦閱讀: