【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)的观点
固然,无论是否静态方法,都是已经存在的,只是访问方式不一样。