1、继承的好处是什么?
为具有共性的类,将其共有的属性抽取到单独的一个类中,在使用时只需要继承那个类,无序创建很多相似的类。
优点:
-
提高了代码的复用性
-
提高了代码的维护性
-
使得类与类之间有了联系
缺点:
-
不同类之间的耦合性增强了
开发的原则:高内聚,低耦合
内聚:自己完成事务的能力
耦合:类与类的联系
2、Java中的类的继承特点是什么以及注意事项
只能单个继承,不可以同时继承多个父类。不继承父类的私有成员,静态成员不参与继承。
注意事项:
- 只能继承父类中非私有分成员(方法和变量)
- 不可以继承父类的构造方法
3、this和super分别是什么?各自应用在什么场景?
this是指当前调用方法的对象本身,super则指向继承自上一父类。
4、什么是方法重写,需要注意哪些问题
如果子类本身与所继承的父类有着相同的功能但其执行过程不同,则对其进行重写。方法名,参数,返回值均不得改变。且不能缩小所覆盖方法的访问权限。
5、方法重写和方法重载有什么区别?
重写:不得改变除方法体之外的任何东西
重载:方法名称必须相同,修饰符和返回值类型以及参数个数可以不同。
6、子父类中构造方法的执行有什么特点?为什么要这样?
在创建子类对象时,会先调用父类的构造方法,即在子类的构造方法中,第一行都有着默认的super();以保证子类能够继承的东西有来源。
7、静态代码块、构造代码块、构造方法的执行顺序
静态代码块-->构造代码块-->构造方法
静态代码块只会在加载类的时候执行一次,构造代码块在每次创建对象时都会执行,且比构造方法先一步执行。
8、final关键字什么意思,可以修饰哪些成员,被修饰的成员有什么特性
final关键字:意为最终,表明其成员不可被修改。
可以修饰静态成员变量,静态成员方法。
方法可以被重载,但不能重写。
可以修饰类:表明其不可被继承。