java的面向对象:找谁(方法)干什么事

    java三大特性 :封装、继承、多态

一、封装

       作用就是方便使用,面向对象

  1. 封装的的操作--private 关键字

java 继承 多态 封装 java继承 多态 封装详解_子类

java 继承 多态 封装 java继承 多态 封装详解_java_02

 

 

 

java 继承 多态 封装 java继承 多态 封装详解_多态_03

封装优化--this关键字

     this的作用。主要事重名的时候,起到区分作用。方法被谁调用谁就是this

 

 

java 继承 多态 封装 java继承 多态 封装详解_多态_04

二、继承

  java是单继承的,继承主要解决的问题就是:共性抽取

  为什么要有继承,如图

java 继承 多态 封装 java继承 多态 封装详解_子类_05

 

 

 

java 继承 多态 封装 java继承 多态 封装详解_子类_06

 

 

 

 

java 继承 多态 封装 java继承 多态 封装详解_子类_07

java 继承 多态 封装 java继承 多态 封装详解_子类_08

  1. 继承---成员属性,子类父类属性重名问题()
  2. 继承---成员方法,子类调用,优先使用子类自己的
  3. 继承---构造方法,super() 

java 继承 多态 封装 java继承 多态 封装详解_java_09

java 继承 多态 封装 java继承 多态 封装详解_子类_10

方法覆盖:

java 继承 多态 封装 java继承 多态 封装详解_多态_11

 

 

java 继承 多态 封装 java继承 多态 封装详解_java_12

 

 

 父子子类内存图

java 继承 多态 封装 java继承 多态 封装详解_java_13

 

 

三、多态

多态指的是对象的多态性,而不是这个类。

多态作用:用方法参数上,方法返回值上

java 继承 多态 封装 java继承 多态 封装详解_子类_14

 

java 继承 多态 封装 java继承 多态 封装详解_java_15

 

 

 

 

 代码中的多态性,就是父类引用指向子类对象。右侧子类对象就被当作父类对象使用。

  

java 继承 多态 封装 java继承 多态 封装详解_多态_16

属性不能覆盖重写

java 继承 多态 封装 java继承 多态 封装详解_java_17

 

 

 

java 继承 多态 封装 java继承 多态 封装详解_java_18

 

子类独有的方法,要向下转型为子类,方可调用。用instance of 判断,防止发生类转换异常

java 继承 多态 封装 java继承 多态 封装详解_子类_19

多态的另一种实现---接口

java 继承 多态 封装 java继承 多态 封装详解_java_20

 

 

 

java 继承 多态 封装 java继承 多态 封装详解_子类_21

 

public interface 接口名称 {

// 属性             (public static final int num=10) 常量(必须赋值)  接口名称.属性名
// 抽象方法  (有抽象方法需要实现,没有就不用实现)
// 默认方法  (为了解决接口升级,和lamata表达式和函数接口,接口默认方法可添加函数模型)java8
// 静态方法  (注意:不能通过接口的实现类调用静态方法)->接口名称.方法名 java8
// 私有方法   java9  (普通私有  静态私有)   【private  【static】返回值类型 方法体 】

}

 

 

java 继承 多态 封装 java继承 多态 封装详解_子类_22

 

抽象方法

 

 

java 继承 多态 封装 java继承 多态 封装详解_多态_23

 

 

默认方法

 

java 继承 多态 封装 java继承 多态 封装详解_多态_24

 

 

 静态方法

java 继承 多态 封装 java继承 多态 封装详解_子类_25

 

 

 

 私有方法

java 继承 多态 封装 java继承 多态 封装详解_java_26

 

 

补充--抽象类  

抽象类出现 主要是因为方法不确定性,有抽象方法的类必须是抽象的类

java 继承 多态 封装 java继承 多态 封装详解_java_27

java 继承 多态 封装 java继承 多态 封装详解_子类_28

 

 抽象类的使用

 

 

 

java 继承 多态 封装 java继承 多态 封装详解_java_29

 

抽象类的注意事项

 

java 继承 多态 封装 java继承 多态 封装详解_java_30

 

 

 

 


 

真正的改变,从来都是静默无声的。很多事情做不到的爱可以做到。做一个充满爱意的人儿。允许。 声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!