在着手准备面试之前,很多人都会找一些面试题进行复习,不过对于一些高频考点的把握上会出现遗漏。就拿继承来说,作为面向对象的特征,可能只是简单在复习其他模块时进行顺带,没有深入进行继承相关题目的练习,这样在面试问到时难免会作答不全面。下面我们就继承面试题展开讲解。
1.java继承的实现方法
通过extends关键字对子类和父类进行关联。值得注意的是,java只支持单继承,也就是说一个子类只能继承一个父类。但是一个子类可以继承已经继承过父类的子类,也就是说,java是间接性多继承的。
2.方法重载和方法重写的区别,方法重载能否改变返回值类型
方法重载是在本类内方法的定义一样,参数类型,参数个数不同,返回值类型不同
方法重写是指子类的方法定义和父类的方法定义相同。其参数类型,参数个数,返回值类型都必须相同
方法重载能否改变返回值类型,因为与返回值无关。
3.多继承和单继承的优劣
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试题指路:java面试题