Java日常练习题,每天进步一点点(36)

1、Java中所有类的父类是( )。

正确答案: D

Father

Dang

Exception

Object

题解:
Object是所有java类的父类

2、Math.round(11.5) 等于多少 (). Math.round(-11.5) 等于多少 ( ).

正确答案: C

11 ,-11

11 ,-12

12 ,-11

12 ,-12

题解:
round方法,表示“四舍五入”,算法为Math.floor(x+0.5),即将原来的数字加上0.5后再向下取整,所以,Math.round(11.5)的结果是12,Math.round(-11.5)的结果为-11

3、选项中哪一行代码可以替换 //add code here 而不产生编译错误

public abstract class MyClass {

public int constInt = 5;

//add code here

public void method() {

}

}

正确答案: A

public abstract void method(int a);

consInt=constInt+5;

public int method();

public abstract void anotherMethod(){}

题解:
A是抽象方法,抽象类可以包含抽象方法,也可以不包含,实现重载。(正确)
B 在类中不能constInt = constInt + 5(错误)
C 返回值不能作为重载的依据(错误)
D 有方法体的不能作为抽象函数(错误)

4、transient 变量和下面哪一项有关?

正确答案: B

Cloneable

Serializable

Runnable

Comparable

题解:
java 的transient关键字的作用是需要实现Serilizable接口,将不需要序列化的属性前添加关键字transient,序列化对象的时候,这个属性就不会序列化到指定的目的地中。

5、Java 的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点。

正确答案: B

正确

错误

题解:
容器的左上角被确定为坐标的起点

6、在Java中,HashMap中是用哪些方法来解决哈希冲突的?

正确答案: C

开放地址法

二次哈希法

链地址法

建立一个公共溢出区

题解:
以上方法都是解决哈希填冲突的策略,但是在java.util.HashMap中,总体来说是使用的链地址法来解决冲突的。

7、尝试编译以下程序会产生怎么样的结果?()

public class MyClass {

long var;

public void MyClass(long param) { var = param; }//(1)

public static void main(String[] args) {
MyClass a, b;

a =new MyClass();//(2)

b =new MyClass(5);//(3)

}

}

正确答案: C

编译错误将发生在(1),因为构造函数不能指定返回值

编译错误将发生在(2),因为该类没有默认构造函数

编译错误将在(3)处发生,因为该类没有构造函数,该构造函数接受一个int类型的参数

该程序将正确编译和执行

题解:
这道题一定要看仔细了,MyClass方法并不是构造参数,而是返回类型为void的普通方法,普通方法自然需要实例化对象然后去调用它,所以124不对,第三个是正确的,因为没有带参数的构造器,所以自然不能传一个int进去。

8、10. class Line {

11. public class Point { public int x,y;}

12. public Point getPoint() { return new Point(); }

13. }

14. class Triangle {

15. public Triangle() {

16. // insert code here

17. }

18. }

在第16行插入哪段代码可以获得一个Point对象的坐标?( )

正确答案: D

Point p = Line.getPoint();

Line.Point p = Line.getPoint();

Point p = (new Line()).getPoint();

Line.Point p = (new Line()).getPoint();

9、下列不属于算法结构的是()

正确答案: C

输入数据

处理数据

存储数据

输出结果

题解:
算法包括0个或多个输入,1个或多个输出,中间有穷个处理过程。
存储结构不属于算法结构

10、下列哪些操作会使线程释放锁资源?

正确答案: B C

sleep()

wait()

join()

yield()

题解:
A:sleep会使当前线程睡眠指定时间,不释放锁
B:wait会使当前线程回到线程池中等待,释放锁,当被其他线程使用notify,notifyAll唤醒时进入可执行状态
C:当前线程调用 某线程.join()时会使当前线程等待某线程执行完毕再结束,底层调用了wait,释放锁
D:yield会使当前线程重回到可执行状态,等待cpu的调度,不释放锁

总结

本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注脚本之家的更多内容!

你可能感兴趣的