牛客java選擇題每日打卡Day18
👩💻部落格首頁:京與舊鋪的部落格首頁
✨歡迎關注🖱點贊🎀收藏⭐留言✒
🔮本文由京與舊鋪原創
😘系列專欄:java學習
👕參考網站:牛客網
💻首發時間:🎞2022年7月2日🎠
🎨你做三四月的事,八九月就會有答案,一起加油吧
🀄如果覺得部落客的文章還不錯的話,請三連支援一下部落客哦
🎧最後的話,作者是一個新人,在很多方面還做的不好,歡迎大佬指正,一起學習哦,沖沖沖
💬推薦一款模拟面試、刷題神器👉點選進入網站
🛒導航小助手🎪
文章目錄
- 牛客java選擇題每日打卡Day18
- 🛒導航小助手🎪
- @[toc]
- 🤳選擇題1
- 正确答案: A 你的答案: B (錯誤)
- 🤳選擇題2
- 正确答案: A 你的答案: D (錯誤)
- 🤳選擇題3
- 正确答案: B 你的答案: A (錯誤)
- 🤳選擇題4
- 正确答案: B 你的答案: C (錯誤)
- 🤳選擇題5
- 正确答案: D 你的答案: A (錯誤)
- 🤳選擇題6
- 正确答案: D 你的答案: C (錯誤)
- 🤳選擇題7
- 正确答案: D 你的答案: B (錯誤)
🤳選擇題1
靜态内部類不可以直接通路外圍類的非靜态資料,而非靜态内部類可以直接通路外圍類的資料,包括私有資料。( )
正确答案: A 你的答案: B (錯誤)
正确
錯誤
選A
總的來說一下内部類吧:
1. 靜态内部類:
1. 靜态内部類本身可以通路外部的靜态資源,包括靜态私有資源。但是不能通路非靜态資源,可以不依賴外部類執行個體而執行個體化。
2. 成員内部類:
1. 成員内部類本身可以通路外部的所有資源,但是自身不能定義靜态資源,因為其執行個體化本身就還依賴着外部類。
3. 局部内部類:
1. 局部内部類就像一個局部方法,不能被通路修飾符修飾,也不能被static修飾。
2. 局部内部類隻能通路所在代碼塊或者方法中被定義為final的局部變量。
4. 匿名内部類:
1. 沒有類名的内部類,不能使用class,extends和implements,沒有構造方法。
2. 多用于GUI中的事件處理。
3. 不能定義靜态資源
4. 隻能建立一個匿名内部類執行個體。
5. 一個匿名内部類一定是在new後面的,這個匿名類必須繼承一個父類或者實作一個接口。
6. 匿名内部類是局部内部類的特殊形式,是以局部内部類的所有限制對匿名内部類也有效。
🤳選擇題2
java中将ISO8859-1字元串轉成GB2312編碼,語句為 ?
正确答案: A 你的答案: D (錯誤)
new String("字元串".getBytes("ISO8859-1"),"GB2312")
new String(String.getBytes("GB2312"), ISO8859-1)
new String(String.getBytes("ISO8859-1"))
new String(String.getBytes("GB2312"))
答案:A
注意這裡"ISO8859-1"是一個普通字元串,不要被迷惑了
String.getBytes(“ISO8859-1”)表示擷取這個字元串的byte數組,
然後new String(String.getBytes(“ISO8859-1”),GB2312)是上面的字元數組按照GB2312編碼成新的字元串
🤳選擇題3
類方法中可以直接調用對象變量?
正确答案: B 你的答案: A (錯誤)
正确
錯誤
當試圖在類方法(也就是靜态方法)中調用類的非靜态變量時,eclipse 給出了這麼一句話 **Cannot make a static reference to the non-static field xxx(xxx代表你所寫的非靜态域的名字)。**這句話意思很簡單,就是不能靜态方法中引用非靜态的域。
原因也很簡單關于類初始化的過程中,靜态域是随着類加載就完成了初始化,而非靜态域此時都沒有完成初始化,你引用它肯定就出錯了。
🤳選擇題4
以下哪個類包含方法flush()?()
正确答案: B 你的答案: C (錯誤)
InputStream
OutputStream
A 和B 選項都包含
A 和B 選項都不包含
flush()函數強制将緩沖區中的字元流、位元組流等輸出,目的是如果輸出流輸出到緩沖區完成後,緩沖區并沒有填滿,那麼緩沖區将會一直等待被填滿。是以在關閉輸出流之前要調用flush()。
🤳選擇題5
Java1.8之後,Java接口的修飾符可以為()
正确答案: D 你的答案: A (錯誤)
private
protected
final
abstract
接口是一種特殊的抽象類,先說明抽象類中的抽象方法,再說明接口
抽象類中的抽象方法(其前有 abstract1修飾)不能用 private、 static、 synchronized、na
tive訪回修飾符修飾。原因如下:
\1. private
抽象方法沒有方法體,是用來被繼承的,是以不能用 private修飾;
2.static
static修飾的方法可以通過類名來訪間該方法(即該方法的方法體),抽象方法用sttic修飾沒有意義;
\3. synchronized
該關鍵字是為該方法加一個鎖。而如果該關鍵字修飾的方法是 static方法。則使用的鎖就是class變量的鎖。如果是修飾類方法。則用this變量鎖。
但是抽象類不能執行個體化對象,因為該方法不是在該抽象類中實作的。是在其子類實作的。是以,鎖應該歸其子類所有。是以,抽象方法也就不能用 synchronized關鍵字修飾了;
\3. native
native這個東西本身就和 abstract沖突,他們都是方法的聲明,隻是一個把方法實作移交給子類,另一個是移交給本地作業系統。如果同時出現,就相當于即把實作移交給子類,又把實作移交給本地作業系統,那到底誰來實作具體方法呢
終于說到了接口!
接口是一種特殊的抽象類,接口中的方法全部是抽象方法(但其前的 abstract可以省略),是以抽象類中的抽象方法不能用的訪間修飾符這裡也不能用。同時額外說明一下protect關鍵詞
\4. protect
protected訪同修飾符也不能使用,因為接口可以讓所有的類去實作(非繼承),不隻是其子類,但是要用public去修飾。接口可以去繼承一個已有的接口。
🤳選擇題6
某程式要求每次輸入隻能是正整數,并且每次輸入的數值要求必須是100的倍數且小于等于500,則下列哪個是正确的無效等價類( )
正确答案: D 你的答案: C (錯誤)
(0,100)、(100,200)、(200,300)、(300,400)、(400,500)、(500,+∞);
(500,+∞)
(500,+∞)、任意大于0小于500的非100倍數的整數;
(-∞,100)、(100,200)、(200,300)、(300,400)、(400,500)、(500,+∞);
無效等價類和有效等價類相反,即不滿足程式輸入要求或者無效的輸入資料構成的集合。
我覺得是選D,按無效等價類的定義來說,題目要求輸入什麼,無效等價類就應該是反着的。題目要求正整數,那麼無效等價類就應該包含負數
🤳選擇題7
假設 a 是一個由線程 1 和線程 2 共享的初始值為 0 的全局變量,則線程 1 和線程 2 同時執行下面的代碼,最終 a 的結果不可能是()
boolean isOdd = false;
for(int i=1;i<=2;++i){
if(i%2==1)isOdd = true;
else isOdd = false;
a+=i*(isOdd?1:-1);
}
正确答案: D 你的答案: B (錯誤)
-1
-2
0
1
不管怎樣線程對a的操作就是+1後-2
1.線程1執行完再線程2執行,1-2+1-2=-2
2.線程1和2同時+1,再-2不同時,1-2-2=-3
3.線程1和2不同時+1,同時-2,1+1-2=0
4.線程1和2既同時+1又同時-2,1-2=-1
###### 正确答案: D 你的答案: B (錯誤)
不管怎樣線程對a的操作就是+1後-2
1.線程1執行完再線程2執行,1-2+1-2=-2
2.線程1和2同時+1,再-2不同時,1-2-2=-3
3.線程1和2不同時+1,同時-2,1+1-2=0
4.線程1和2既同時+1又同時-2,1-2=-1
沒有結果為1的情況
結束語🏆🏆🏆
🔥推薦一款模拟面試、刷題神器網站
點選跳轉進入網站點選進入
1、算法篇(398題):面試必刷100題、算法入門、面試高頻榜單
2、SQL篇(82題):快速入門、SQL必知必會、SQL進階挑戰、面試真題
3、大廠筆試真題:位元組跳動、美團、百度、騰訊…