A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 15127673623 中级黑马   /  2016-4-29 22:15  /  400 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

15. 不通过构造函数也能创建对象吗()
A 是     B 否
答案:A
解析:Java创建对象的几种方式(重要):
(1) 用new语句创建对象,这是最常见的创建对象的方法。
(2) 运用反射手段,调用java.lang.Class或者java.lang.reflect.Constructor类的newInstance()实例方法。
(3) 调用对象的clone()方法。
(4) 运用反序列化手段,调用java.io.ObjectInputStream对象的 readObject()方法。
(1)和(2)都会明确的显式的调用构造函数 ;(3)是在内存上对已有对象的影印,所以不会调用构造函数 ;(4)是从文件中还原类的对象,也不会调用构造函数。

16. ArrayList list = new ArrayList(20);中的list扩充几次()
A 0     B 1     C 2      D 3
答案:A
解析:这里有点迷惑人,大家都知道默认ArrayList的长度是10个,所以如果你要往list里添加20个元素肯定要扩充一次(扩充为原来的1.5倍),但是这里显示指明了需要多少空间,所以就一次性为你分配这么多空间,也就是不需要扩充了。

17. 下面哪些是对称加密算法()
A DES   B AES   C DSA   D RSA
答案:AB
解析:常用的对称加密算法有:DES、3DES、RC2、RC4、AES
常用的非对称加密算法有:RSA、DSA、ECC
使用单向散列函数的加密算法:MD5、SHA

18.新建一个流对象,下面哪个选项的代码是错误的?()
A)new BufferedWriter(new FileWriter("a.txt"));
B)new BufferedReader(new FileInputStream("a.dat"));
C)new GZIPOutputStream(new FileOutputStream("a.zip"));
D)new ObjectInputStream(new FileInputStream("a.dat"));
答案:B
解析:请记得13题的那个图吗?Reader只能用FileReader进行实例化。

19. 下面程序能正常运行吗()

public class NULL {

    public static void haha(){
        System.out.println("haha");
    }
    public static void main(String[] args) {
        ((NULL)null).haha();
    }

}

答案:能正常运行
解析:输出为haha,因为null值可以强制转换为任何java类类型,(String)null也是合法的。但null强制转换后是无效对象,其返回值还是为null,而static方法的调用是和类名绑定的,不借助对象进行访问所以能正确输出。反过来,没有static修饰就只能用对象进行访问,使用null调用对象肯定会报空指针错了。这里和C++很类似。这里感谢@Florian网友解答。


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马