继承的定义:Java继承是面向对象的最显著的一个特征。继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。继承简单的来说就是祖宗,父亲,儿子的关系.东西可以往下传就是. 继承的好处:Java继承是使用已存在的类的定义作为基础建立新类的技术。新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。这种技术使得复用以前的代码非常容易,能够大大缩短开发周期,降低开发费用。提高了代码的复用性与维护性。 继承的特点: 1:继承关系是传递的。若类C继承类B,类B继承类A(多继承),则类C既有从类B那里继承下来的属性与方法,也有从类A那里继承下来的属性与方法,还可以有自己新定义的属性与方法。继承来的属性和方法尽管是隐式的,但仍是类C的属性和方法。继承是在一些比较一般的类的基础上构造、建立和扩充新类的最有效的手段。 2:继承简化了人们对事物的认识和描述,能清晰体现相关类间的层次结构关系。 3:继承提供了软件复用功能。若类B继承类A,那么建立类B时只需要再描述与基类(类A)不同的少量特征(数据成员和成员方法)即可。这种做法能减小代码和数据的冗余度,大大增加程序的重用性。 4:继承通过增强一致性来减少模块间的接口和界面,大大增加了程序的易维护性。 5:提供多重继承机制。从理论上说,一个类可以使多个一般类的特殊类,它可以从多个一般类中继承属性与方法,这便是多重继承。Java出于安全性和可靠性的考虑,仅支持单重继承,而通过使用接口机制来实现多重继承。 子父类中构造方法的执行特点以及为什么要这么做 1、子类有所有的构造方法默认都会访问父类中空参数的构造方法。 因为子类会继承父类中的数据,可能还会使用父类的数据。所以,子类初始化之前,一定要先完成父类数据的初始化。 每一个构造方法的第一条语句默认都是:super() 2、如果父类中没有空参数的构造方法,通过下列方式解决 a) 子类通过super去显示调用父类其他的带参的构造方法 b) 子类通过this去调用本类的其他构造方法(本类其他构造也必须首先可以访问了父类构造) 注意:super(...)或者this(...)必须出现在第一条语句上,否则,就会有父类数据的多次初始化 |