原创

关于封装继承多态等面试题


    

一,封装相关面试题

1, 为什么需要封装?
答:封装就是将同一类实物的特性与功能包装在一起,对外暴露调用的接口。封装也称信息隐藏,是指利用抽象数据类型把数据和基于数据的操作封装起来,使其成为一个不可分割的整体,数据隐藏在抽象数据内部,尽可能的隐藏数据细节,只保留一些接口使其与外界发生联系。
封装的好处:
1,实现专业分工
2,减少耦合
3,类内部的结构能够自由修改
4,隐藏实现细节
二,Java的继承是怎么实现的 
答:继承是面向对象的最显著的一个特征。继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并扩展新的能力。Java是单继承的,一个类只能有一个父类,易于管理,父类是子类的一般化,子类是父类的特殊化。
三,继承的特征 
答:
1,传递性 若类A继承类B,类B继承C,则类A既有B类的属性与方法,也有C类的属性与方法,还可以有自己新定义的属性与方法,继承来的属性和方法尽管是隐式的,但仍然是A的属性和方法。
2,单根性 若类A继承类B,那么建立类A时只需要再描述与基类不同的少量特征即可,这种做法能减少代码和数据的沉余度,大大增加程序的重要性。
3,子类调用父类成员 
使用super关键字调用父类成员
子类默认会先调用父类的无参构造方法,如果父类没有则报错,可以手动指定,但必须在第一行
四,多态 
答:面向对象的多态性主要体现在,重写与重载两方面。在成长中有关于重载和重写的讲说。
关键字的面试题 
定义包使用
package 。
导入包使用
import
静态方法是否可以直接调用同一个类中其他非静态方法?
不行,通过对象调用 
非静态方法是否可以直接调用同一类中的其它静态方法
同一个类:直接调用
不同的类:使用类名调用,如类名.成员。
正文到此结束