java面试题–java基础篇
1、Java中的多态是怎么实现的?
多态的实现离不开继承,在程序设计时候,可以将参数类型
定义为父类型,在调用程序的时候,根据实际情况,传入该父类型的某个子类的实例,这样就实现了多态。
2、Java为什么是单继承,为什么不能多继承?
单继承是指一个类只能继承一个直接的父类,因为多继承容易产生混淆,比如两个父类中包含相同的方式,子类在调用的或重写该方法时就会迷惑。
3、 说一说重写与重载的区别
重载:(同名不同参,返回值无关)
- 重载发送在同一个类中
- 方法名相同,参数列表不同
- 返回值,修饰符无关
重写:(同名同参)
- 重写发生在父类与子类中
- 方法名相同,参数与父类相同
- 返回值小于等于父类
- 抛出异常小于等于父类
- 修饰符大于等于父类(private 修饰的方法不能重写)
4、 构造方法能不能重写?
构造方法不能重写,因为构造方法需要和类同名,子类重写的话,在子类中就会存在和类名不同的构造方法,与构造方法的要求矛盾。
5、介绍一下Object类中的方法
Object类提供了如下几个常用方法:
-
Class<?> getClass()
:返回该对象的运行时类。 -
boolean equals(Object obj)
:判断指定对象与该对象是否相等。 -
int hashCode()
:返回该对象的hashCode值。 -
String toString()
:返回该对象的字符串表示。 -
clone()
:自我克隆得到一个当前对象的副本
Object类还提供了wait()
、notify()
、notifyAll()
这几个方法,通过这几个方法可以控制线程的暂停和运行。