【297天】我愛刷題系列056(2017.11.29)

叨叨兩句

  1. 搞定

牛客網——java專項練習036

1

抽象類方法的訪問權限默認都是public。( )java

正確答案: B 你的答案: A (錯誤)數組

  1. 正確
  2. 錯誤
關於抽象類
JDK 1.8之前,抽象類的方法默認訪問權限爲protected
JDK 1.8時,抽象類的方法默認訪問權限變爲default

關於接口
JDK 1.8之前,接口中的方法必須是public的
JDK 1.8時,接口中的方法能夠是public的,也能夠是default的
JDK 1.9時,接口中的方法能夠是private的

2


正確答案: C編碼

  1. 010 2123012 3434
  2. 01201 340124 2334
  3. 0012314 01223344
  4. 12345 12345 12345
每一個線程輸出0,1,2,3,4,’空格, 輸出空格前必有線程輸出了0-4,因此選C

3

下面哪段程序可以正確的實現了GBK編碼字節流到UTF-8編碼字節流的轉換: spa

byte[] src,dst;線程

正確答案: B指針

  1. dst=String.frombytes(src,」GBK」).getbytes(「UTF-8」)
  2. dst=new String (src,」GBK」).getbytes(「UTF-8」)
  3. dst=new String (」GBK」, src,) getbytes()
  4. dst=String.encode(String.decode(src,」GBK」)), 「UTF-8」)
String (byte[] bytes, String charsetName) 經過使用指定的 charset 解碼指定的 byte 數組,構造一個新的 
1
String.getBytes(Charset charset)  使用給定的 charset 將此 String 編碼到 byte 序列,並將結果存儲到新的 byte 數組。

4

有關下述Java代碼描述正確的選項是____。code

public class TestClass {
private static void testMethod(){對象

System.out.println("testMethod");

}
public static void main(String[] args) {blog

((TestClass)null).testMethod();

}
}
正確答案: F接口

  1. 編譯不經過
  2. 編譯經過,運行異常,報NullPointerException
  3. 編譯經過,運行異常,報IllegalArgumentException
  4. 編譯經過,運行異常,報NoSuchMethodException
  5. 編譯經過,運行異常,報Exception
  6. 運行正常,輸出testMethod
我來總結下你們的分析。
1)此處是類對方法的調用,不是對象對方法的調用。
2)方法是static靜態方法,直接使用"類.方法"便可,由於靜態方法使用不依賴對象是否被建立。
null能夠被強制類型轉換成任意類型(不是任意類型對象),因而能夠經過它來執行靜態方法。
3)非靜態的方法用"對象.方法"的方式,必須依賴對象被建立後才能使用,若將testMethod()方法前的static去掉,則會報 空指針異常 。此處也驗證了2)的觀點
固然,無論是否靜態方法,都是已經存在的,只是訪問方式不一樣。
相關文章
相關標籤/搜索