黑马程序员技术交流社区
标题:
关于继承的总结
[打印本页]
作者:
北极1989
时间:
2016-3-26 23:38
标题:
关于继承的总结
1、代码块是什么,分为哪几类,各自有什么特点?
//在Java中被{}括起来的代码就称为代码块
2、子父类都有静态代码块、构造代码块、构造方法,那么他们六者之间的执行流程是什么?
//父类静态代码块 > 子类静态代码块 > 父类构造代码块 > 父类构造方法 > 子类构造代码块 > 子类构造方法
3、继承的好处、弊端分别是什么?
/* 继承的好处:
a 提高了代码的复用性
b 提高了代码的可维护性
c 让类与类之间产生了关系,是多态的前提
继承的弊端:
a 提高了程序的耦合性
*/
4、Java中继承的特点是什么?
/*
JAVA只支持单继承不支持多继承,但是可以支持多层继承
*/
5、Java中继承的注意事项是什么?我们什么时候使用继承?
/*注意事项:
a private修饰的 不能被继承
b 构造方法不能被继承,但是可以通过super来访问父类的构造方法
什么时候使用继承:
只有 "谁是谁的一种"的时候才去考虑继承,比如,猫是动物的一种,这种时候就可以把动物做为父类,猫作为子类
*/
6、this关键字和super关键字分别代表什么,以及他们各自的作用分别是什么?
/*
this代表当前对象的引用 不仅可以调用本类的 也可以调用父类的(本类没有的前提下才能调用父类的)
super代表的是父类内存空间的标识,可以让子类通过super去调用被私有的父类中的构造方法
*/
8、继承中构造方法的执行流程是什么?
/*
子类所有的构造方法第一行都默认去访问父类中的空参构造方法.
*/
9、为什么子类中所有的构造方法默认都会访问父类的空参构造?
假如父类没有无参构造方法,子类应该怎么办?
/*因为子类会继承父类中的数据,可能还会使用父类的数据。所以,子类初始化之前,一定要先完成父类数据的
初始化。每一个构造方法的第一条语句默认都是:super() .
父类没有空参构造方法时,可以在子类空参构造方法中使用this(参数,参数),这样就会通过子类中的有参构造
方法去访问父类中的有参构造方法;或者使用Super(参数,参数),直接去访问父类中的有参构造方法.
*/
10、super关键字和this关键字可以在构造方法中共存吗?
/* 因为this和super 都要求放在构造方法中的第一句,所以两者不可以共存,只能使用一个
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2