Java面试常见问题整理02
Posted 猿助猿
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java面试常见问题整理02相关的知识,希望对你有一定的参考价值。
Q:HashMap 和 Hashtable 的区别。
A:都属于 Map 接口的类,实现了将唯一键映射到特定的值上。HashMap 类没有分类或者排序,它允许一个 null 键和多个 null 值。Hashtable 类似于 HashMap,但是不允许 null 键和 null 值,它也比 HashMap 慢,因为它是同步的。Hashtable: 效率低,线程安全;HashMap: 效率高,线程不安全。
Q:& 和 && 的区别。
A:& 是位运算符,&& 是布尔逻辑运算符。& 和 && 都是「与」运算符,运算规则相同,区别在于若 && 左边为 false,则不计算右边,整个表达式就是 false,而 & 两边不论怎样都要计算。
Q:sleep() 和 wait() 有什么区别?
sleep() 方法是使线程停止一段时间的方法。在 sleep 时间间隔期满后,线程不一定立即恢复执行,这是因为在那个时刻,其它线程可能正在运行而且没有被调度为放弃执行,除非 “醒来” 的线程具有更高的优先级或者正在运行的线程因为其它原因而阻塞。wait() 是线程交互时,如果线程对一个同步对象 x 发出一个wait()调用,该线程会暂停执行,被调对象进入等待状态,直到被唤醒或等待时间到。
Q:Overload 和 Override 的区别。Overload 的方法是否可以改变返回值的类型?
方法的重写(Overriding)和重载(Overloading)是 Java 多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overload 是一个类中多态性的一种表现。
子类重写父类的方法要求:方法名相同,形参列表相同;子类方法返回值类型应比父类方法返回值类型更小或相等,子类方法声明抛出的异常类应比父类方法声明抛出的异常类更小或相等;子类方法的访问权限应比父类方法的访问权限更大或相等。
重载的要求:方法名相同:完成相同的功能;参数列表不同:参数个数、参数类型、参数顺序;另外,形参名不同、返回值类型不同不影响方法的加载。
Overload 的方法是可以改变返回值的类型。
觉得本文有帮助?请分享给更多人
以上是关于Java面试常见问题整理02的主要内容,如果未能解决你的问题,请参考以下文章