黑马程序员_继承

 
----------------------
android培训java培训、期待与您交流! -------------------

            extends 继承:

                    1、提高了代码的复用性。

                    2、让类与类之间有了关系,这样才有了多态的特性。

            java语言中:java只支持单继承(接口除外,接口之间支持多继承),不支持多继承。java支持多层继承。

            因为多继承容易带来安全隐患,当父类中定义了相同功能,但功能内容不同时,子类对象不确定要运行哪一个。对多继承进行改良变为多实现,因为接口中的方法都是抽象的,需要被覆写,调用的都是被子类覆写后的方法,所以不会出现子类对象不确定要运行哪一个的情况。

              this代表本类对象的引用。

              super代表父类对象的引用。

              子类中出现非私有的同名变量,this代表子类对象引用,super代表父类。

              覆盖、重写:子类与父类中有相同的函数时,运行子类的函数。用于程序的扩展。

                         1、子类覆盖父类,必须保证子类权限大于父类。(父类中权限是private的话,子类不能覆写)

                          2、静态只能覆盖静态。

              函数重载与覆写的区别:

                          重载:重载只看同名函数的参数列表,不同则为重载。

                          覆写:子父类方法名要一模一样,包括返回值类型,内容不一样。

              异常在子父类覆盖中的体现:

                           1、子类在覆盖父类时,如果父类的方法抛出异常,那么子类的覆盖方法,只能抛出父类的异常或者该异常的子类。

                            2、如果父类的方法抛出多个异常,那么子类在覆盖该方法时,只能抛出父类异常的子集。

                             3、如果父类或者接口的方法中没有异常抛出,那么子类在覆盖该方法时,也不可以抛出异常。如果子类方法发生了异常,就必须要进行try处理,绝对不能抛。

              子类的所有构造函数默认都会访问父类中空参数的构造函数。因为子类每一个构造函数内的第一行都有一句隐式super();当父类中没有空参数构造函数时,子类必须手动通过super语句形式来指定要访问父类中的构造函数。因为父类中的数据子类可以直接获取,所以子类对象在建立时,需要先查看父类是如何对这些数据进行初始化的,所以子类在对象初始化时要先访问一下父类中的构造函数。如果类不想被继承,那可以用final来修饰类;同样的如果类中的某个方法不想被子类覆写,也可以使用final来修饰该方法。

 ---------------------- android培训java培训、期待与您交流! -------------------

详细请查看:http://edu.csdn.net/heima

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值