继承、封装和多态

        java三大特性,从源代码就可看出,这是贯穿整个java很重要的思想,也是越用越觉得高明的设计。



一。继承

       用extends表示子类继承父类,来实现代码复用。子类可以重用父类的非private成员变量和方法。但java是单继承,即一个子类只能继承一个父类。

       子类不能继承父类的构造函数,只能通过super来调用。super( )只能在子类的构造函数中出现,并且永远都是位于子类构造函数中的第一条语句。

       Java中通过super来实现对被隐藏或被覆盖的父类成员的访问。super 的使用有三种情况:
1. 访问父类被隐藏的成员变量和成员方法;
      super.成员变量名;
2. 调用父类中被覆盖的方法,如:
      super.成员方法名([参数列]);
3. 调用父类的构造函数,如:

      super([参数列表]);



二。封装

      封装就是把类(对象)的属性和行为结合成一个独立的相同单位,并尽可能隐蔽类(对象)的内部细节,对外形成一个边界,只保留有限的对外接口使之与外部发生联系。

       减少相互间的依赖,降低耦合,容易维护和使用;内部逻辑更改迭代不会影响客户的使用;保证了程序和数据不受外部干扰且不被误用,安全性提高。

       常用的是四种修饰符,访问权限由大到小为:public>protected>void>private

其中,public型无限制,protected型限制为子类或包内可访问,void型限制包内可访问,private型限制仅类中可访问。


三。多态

       多态是同一个行为具有多个不同表现形式或形态的能力。

       多态存在的三个必要条件:
1. 要有继承;
2. 要有重写;
3. 父类引用指向子类对象。

      多态的好处:
1.可替换性(substitutability)。多态对已存在代码具有可替换性。例如,多态对圆Circle类工作,对其他任何圆形几何体,如圆环,也同样工作。
2.可扩充性(extensibility)。多态对代码具有可扩充性。增加新的子类不影响已存在类的多态性、继承性,以及其他特性的运行和操作。实际上新加子类更容易获得多态功能。例如,在实现了圆锥、半圆锥以及半球体的多态基础上,很容易增添球体类的多态性。
3.接口性(interface-ability)。多态是超类通过方法签名,向子类提供了一个共同接口,由子类来完善或者覆盖它而实现的。
4.灵活性(flexibility)。它在应用中体现了灵活多样的操作,提高了使用效率。
5.简化性(simplicity)。多态简化对应用软件的代码编写和修改过程,尤其在处理大量对象的运算和操作时,这个特点尤为突出和重要。

       Java中多态的实现方式:接口实现,继承父类进行方法重写,同一个类中进行方法重载

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值