黑马程序员技术交流社区

标题: 007分享_day09继承,及在子父类中的体现方式 [打印本页]

作者: 掉了一地..    时间: 2015-2-1 13:50
标题: 007分享_day09继承,及在子父类中的体现方式
为了提高复用性,只建立一份代码。
一个类只要和另一个类产生关系就可以了。
两个之间没有继承关系,但是他们有共性的内容,
也可以共享一个父类。无论是学生还是工人,都是person。

面向对象的的一个特征:
好处:提高了代码的复用性,让类与类产生了关系,给另一个特征 多态,提供了前提。

怎么使用:必须保证类与类之间所属(is a)关系,xxx是zzz中的一种。

在java中继承的体现:
java允许单继承,不直接支持多继承(父类属性可能会有相同),将多继承进行其他方式的体现。
单继承:一个类只有一个父类。
多继承:一个子类可以有多个父类。java保留了她的好处,改良了他的弊端,用多实现来体现。

java还支持多重继承,

b继承a,c继承b,则c可以继承a的方法。为多重继承。

继承中子父类的体现方式:
继承在代码中的体现方式:
1,成员变量,
        1子父类中若定义了一模一样的成员变量num,this.num(访问本类变量)
        2如何在子类中访问父类同名变量:super.num(访问父类变量)
   super与this的用法很相似:
        this:代表的是本类的对象的引用,
        super:代表的是父类内存空间,而不是父类对象。不可以直接输出super,但可以直接输出this。

2.成员函数的特点:
   字父类中定义了一样的函数,
   运行的为结果:为子类在运行。(重写,或覆盖或复写)父类被覆盖了。(overRide)

重写使用:
     父类已经定义了某种功能,若子类也需要这种行为,
则可以直接拿来用,或者将功能稍作修改,保留功能声明,稍做内容的修改。

重写(覆盖)注意事项:
   1,子类覆盖父类,必须保证权限大于或者等于父类的权限。
   2,静态覆盖静态,父类中为静态,子类也要为静态。
   3,写法必须一样:返回值,类型,函数名,参数列表都要一样。

3.子父类构造函数特点:super
   1.子父类中构造函数相同,结果先执行了父类构造函数,然后有执行了子类构造函数//因为子类的所有构造函数中的第一行都有一句隐式语句super();默认调用了父类中空参数的构造函数。
   2.当父类中没有空参数构造函数时,子类的构造函数必须通过显示的super语句指定要访问的父类的构造函数。
   3.子类中所有的构造函数都会去访问父类中默认的空参构造函数。       
       
子类实例化即super的应用。。





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2