传送点
1. 在开发中使用泛型取代非泛型的数据类型(比如用ArrayList取代ArrayList),程序运行性能会变更好
【答案】
说法错误
【分析】
泛型仅仅是Java的一颗语法糖,不会影响java虚拟机生成的汇编代码,在编译阶段,虚拟机就会把泛型的类型擦除,还原成没有泛型的代码,顶多编译速度慢一点,执行速度是完全没有区别的
2. 对于abstract声明的类,下面说法正确的是()
A. 可以实例化
B.不可以被继承
C.子类为abstract
D.只能被继承
E.可以被抽象类继承
【答案】
E
【分析】
A选项,抽象类不能实例化,因为有抽象方法未实现
B选项,可以继承,派生类可以实现抽象方法
C选项,子类可以是抽象的,也可以是非抽象的
D选项,只能说继承说法太肯定,不正确
E选项,可以被抽象类继承,也可以被非抽象类继承
3. 下列说法中错误的是()
A. SQL语言又称为结构化查询语言
B. java中的static关键字表明一个成员变量或者成员方法可以在没有所属类的实例变量的情况下被访问
C. 面向对象开发中,引用传递意味着传递的并不是实际的对象,而是对象的引用,因此,外部对对象的引用所作的改变不会反应带所引用的对象上
D. java是强类型语言,javascript是弱类型语言
E. 面向对象三大特性包括:封装、继承、多态
【答案】
C
【分析】
传值传参的时候,我们在函数中改变了参数的值,其对应的变量的值并不改变,值类型传参就是将变量保存的内容复制到函数的形参中,他们是两个不同的变量,值不过保存的内容相同不了.
引用传参保存的是一个地址,这个地址里保存的是变量的具体值,而引用类型作为参数的时候,是将变量保存的地址值赋值到参数变量里,这样他们都指向了同一个内容,这样我们改变参数的成员的话,那么相应的变量的成员也会改变。
4. which lines of the following will produce an error?
byte a1 = 2,a2 = 4,a3;
short s = 16;
a2 = s;
a3 = a1 * a2;
【答案】
第三、四行
【分析】
第三行,s是short类型,a2是byte类型,short类型比byte类型精度高,高精度不能自动转换为低精度,需要使用强制类型转换
第四行,a1 * a2的结果为int型,需要使用int类型的变量去接收
5. (判断)在java中,对于不再使用的内存资源,如调用完成的方法,垃圾回收器会自动将其释放
【答案】
错误
【解释】
方法调用时,会创建栈帧在栈中,调用完是程序自动出栈释放,而不是gc释放
【知识点】
JVM 内存可简单分为三个区:
堆区&#