java 面向对象的四大特性

面向对象软件系统 OOPS的四大主要特征:
封装 Encapsulation
继承 Inheritance
多态 Polymorphism
抽象 Abstraction

封装 Encapulation

在这里插入图片描述

多态 Polymorphism

多态指的是使用相同的接口来应对不同的底层形式的能力。
其实就是多个类继承或者实现了同一个类或者接口,每个子类中都有实现某一个方法,
Shape shape = new Squre();//其中Shap被Rectangle、Circle等类继承
shape.area();//那么shape.area()就可以实现获得多个形状的面积

面向对象的编程语言在运行时所实现的多态过程叫做动态绑定。

注:多态是指根据调用函数的对象来选择更具针对性的方法的特性。当没有抽象类的时候就可以使用多态。

在这里插入图片描述

方法重载和多态没有关系。
静态多态不是实际意义上的多态。
注意区别方法重载(Overload)和方法覆盖(Override)。

基于泛型的参数多态性

覆盖不能用于静态方法,因为覆盖依赖于具体的类实例。静态方法不依赖于具体的实例,所以覆盖不适用于静态方法。

继承Inheritance

实现了软件复用性。
在这里插入图片描述

抽象 Abstraction

只需要开发接口和功能,不需要实现具体的实施细节。

抽象类中可以既包括抽象方法和具体方法,如果一个方法是抽象方法,其所在的类必须被声明成抽象类。反之不然,如果一个类是抽象类,其中不一定包括抽象方法。

抽象方法不能被实例化,其他类只能扩展它。

接口 Interface

一类可以实现多个接口,类不能继承多个类
在这里插入图片描述

接口和抽象类的区别:

  1. 接口中的都是方法的声明,而且都是抽象方法,抽象类中可以有方法具体的实现(也就是可以不用是抽象的);
  2. 抽象类中可以有静态方法,接口中不可以(java8 实现了接口中有默认方法以及静态方法)
  3. 抽象类中有构造函数,接口中没有;
  4. 抽象类中的变量可以自定义其可见性(public private protected),但是接口中的方法一定都要是public的;
  5. 接口中的变量都是final型的,抽象类中的变量可以是其他类型;
  6. 类是不能实现多重继承的,抽象类也不例外;接口可以。
  7. 继承抽象类的子类一定要将其父类的方法均实现,但是接口可以不用。
合成

在新类里简单地创建原有类的对象。我们把这种方法叫作“合成”
为进行合成,我们只需在新类里简单地置入对象句柄即可。

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值