什么是继承

继承:子类继承父类,继承而得到的类称为子类,被继承的类叫做父类

 

继承的好处:

                      提高了代码的复用性

                      使类与类之间产生联系,给多态提供了前提

 

JAVA不支持多继承,用接口来体现

为什么JAVA不支持多继承呢?

                      因为多个父类中有相同的成员,会产生调用的不确定性

JAVA支持多重继承

                      比如:C继承A,A继承B

                      就会出现继承体系

当要使用一个继承体系时

                      我们要查看该体系的顶层类,了解该体系的基本功能

                      创建该体系的最子类,来实现功能的使用

什么时候使用继承?

                      当类与类之间cunz存在着所属关系时,就使用继承。比如:狗属于动物的一种   狗extends动物

在父类中成员的特点

                      成员变量:

                                    当本类中的成员变量和局部变量出同名的情况用this区分

                                    当子类中的成员变量和父类中的成员变量同名时,用super区分

                                     this和super的用法相似

                                     this代表本类对象的引用,super代表父类空间

                      成员函数:

                                     当子父类出现一模一样的成员函数时,会运行子类的成员函数,这种现象叫覆盖(重写)

                                     函数的两大特性:重载:同一个类中,方法名相同,参数不同   overrload

                                                                  重写(覆盖):出现在子父类中

                                      覆盖使用的注意事项:

                                                                  子类方法覆盖父类方法时,子类的权限必须大于或等于父类的权限

                                                                   静态只能覆盖静态,或者被静态覆盖

                                       什么时候使用覆盖:

                                                                   当对一个类进行子类扩展时,子类需要保留父类的方法声明,但是需要定义子类中该

                                                                    方法的特有内容时,就使用覆盖

                      子类中父类的构造函数的特点:

                                                                     在子类构造函数中,发现访问子类构造函数时,父类构造函数也运行了

                                                                      因为在子类构造函数中的第一行有个默认的隐式语句:super();

子类实例化过程:子类的所有构造函数都默认访问父类的空参数构造函数

为什么子类实例化的时候要访问父类中的空参数构造函数?

                      因为子类继承父类,获取到了父类的内容(属性),所以在使用父类的内容之前,要先看看父类是怎么对自己的内容进行初始化的

 

如果父类中没有定义空参数构造函数,那么子类的构造函数必须调用super().语句明确调用父类中的哪个构造函数,同时子类构造函数中使用了this调用了本类构造函数时,那么super就没了,因为this和super只能定义在构造函数的第一行,但是可以保证的是子类肯定会有其他构造函数访问父类的构造函数             

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值