java继承面试题的总结

java继承面试题的总结_第1张图片

在着手准备面试之前,很多人都会找一些面试题进行复习,不过对于一些高频考点的把握上会出现遗漏。就拿继承来说,作为面向对象的特征,可能只是简单在复习其他模块时进行顺带,没有深入进行继承相关题目的练习,这样在面试问到时难免会作答不全面。下面我们就继承面试题展开讲解。

1.java继承的实现方法

通过extends关键字对子类和父类进行关联。值得注意的是,java只支持单继承,也就是说一个子类只能继承一个父类。但是一个子类可以继承已经继承过父类的子类,也就是说,java是间接性多继承的。

2.方法重载和方法重写的区别,方法重载能否改变返回值类型

方法重载是在本类内方法的定义一样,参数类型,参数个数不同,返回值类型不同

方法重写是指子类的方法定义和父类的方法定义相同。其参数类型,参数个数,返回值类型都必须相同

方法重载能否改变返回值类型,因为与返回值无关。

3.多继承和单继承的优劣

java继承面试题的总结_第2张图片

4.看程序写结果:

A:一个类的静态代码块,构造代码块,构造方法的执行流程

静态代码块 > 构造代码块 > 构造方法

B:静态的内容是随着类的加载而加载

静态代码块的内容会优先执行

C:子类初始化之前先会进行父类的初始化

*/
class Fu {
static {
System.out.println("静态代码块Fu");
}
 
{
System.out.println("构造代码块Fu");
}
 
public Fu() {
System.out.println("构造方法Fu");
}
}
 
class Zi extends Fu {
static {
System.out.println("静态代码块Zi");
}
 
{
System.out.println("构造代码块Zi");
}
 
public Zi() {
System.out.println("构造方法Zi");
}
}
 
class ExtendsTest2 {
public static void main(String[] args) {
Zi z = new Zi();
}
}

结果是:

静态代码块Fu
静态代码块Zi
构造代码块Fu
构造方法Fu
构造代码块Zi
构造方法Zi

以上就是java继承面试题的总结,相信有些人对于上面的题目还存有疑虑,在复习的时候可以多找寻这方面的资料进行知识点补充,做到继承方面的知识点覆盖。

你可能感兴趣的:(java)