Java面向对象的四个特征:继承、封装、多态、抽象

        继承:是子对象可以继承父对象的属性和行为,亦即父对象拥有的属性和行为,其子对象也就拥有了这些属性和行为。比如:父类为人,子类可以是 男人和女人,男和女都继承于父类,但是一个子类只能继承一个特殊类,不能继承多个。但一个一般类可以实现多个接口。子类继承父类的时候,可以重写父类的方法,也可以有自己的方法。

       继承的特点:

  • 1.子类继承父类,通过关键extends

  • 2.子类对象可以调用父类中(public protected)属性和方法 当做自己的来使用

  • 3.子类可以添加自己的属性和方法

  •  4.子类从父类中继承过来的方法不能满足子类需要,可以在子类中重写(覆盖)父类的方法

  • 5.每一个类都有继承类,如果不写extends,默认继承Object类

  • 6.Java中只存在单继承,目的是为了让类变的更安全

  • 7.继承在内存中的存储形

Java面向对象的四个特征

 关于this和super的使用:

  •  this和super都是指代词,代指对象。
  •  this代替的是当前执行方法的对象,不一定是当前类的
  •  super代指的是当前执行方法时对象的父类对象
  •  都能调用一般属性和一般方法,可以放在类成员任意位置
  •  调用一般方法是可以来回调用(编译能过,执行可能产生问题)
  •  构造方法之间不能来回调用(编译提示出错)

this和super区别图解:

Java面向对象的四个特征

       封装:这里的封装主要是针对类的封装。一个业务逻辑的实现往往需要多个对象和方法去实现,封装旨在对不同对象的方法进行封装处理,即不同对象的方法处在一个单独的对象类中。把对象的全部属性和全部服务结合在一起,形成不可分割的独立的单位(对象);信息隐蔽,即尽可能隐蔽对象的内部细节,对外形成一个边界〔或者说形成一道屏障〕,只保留有限的对外接口使之与外部发生联系。比如javaBean中属性的get()、set()方法。

       Java 的访问权限修饰关键字范围图解:

Java面向对象的四个特征

封装的优点:

  • 良好的封装能够减少耦合。
  • 类内部的结构可以自由修改。
  • 可以对成员进行更精确的控制。
  • 隐藏信息,实现细节。

       多态:允许不同类的对象对同一消息做出响应。实现多态的技术称为:动态绑定(dynamic binding),是指在执行期间判断所引用对象的实际类型,根据其实际的类型调用其相应的方法。

多态体现: 

       1. 需要现有继承关系

       2.父类类型的引用指向子类对象(上转型)

       3.该引用只能调用父类中定义的属性或方法

       4.如果子类中将父类的方法重写,那么调用的是子类重写的方法

       5.如果子类与父类有同名的属性,执行父类的属性   

       6.若想要调用子类中独有的成员,将身份还原回去(下转型)

       7.为了避免转型产生的问题,可以使用instanceof进行判断

多态的作用:消除类型之间的耦合关系。

方法重写与方法重载总结:

Java面向对象的四个特征

       抽象:Java中抽象可以是抽象类、抽象方法,使用abstract修饰。其中抽象类中可以有抽象方法和非抽象方法,抽象方法。据有抽象方法的类一定是抽象类。抽象方法一般只有方法名,没有方法的实现。如:public abstract void test(); 且抽象方法的权限修饰必须是protected public 的,因为子类在继承抽象父类的时候,必须要实现父类所有的抽象方法。

       借鉴博客:

        https://blog.csdn.net/qq_29750461/article/details/80871818

        https://www.jianshu.com/p/7a019aa4c182

        https://www.cnblogs.com/mengchunchen/p/7890729.html

相关文章: