java的封装继承多态理解

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

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

一、封装

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

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

 

 

 

封装优化--this关键字

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

 

 

二、继承

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

  为什么要有继承,如图

 

 

 

 

 

 

 

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

方法覆盖:

 

 

 

 

 父子子类内存图

 

 

三、多态

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

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

 

 

 

 

 

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

  属性不能覆盖重写

 

 

 

 

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

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

 

 

 

 

public interface 接口名称 {

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

}

 

 

 

抽象方法

 

 

 

 

默认方法

 

 

 

 静态方法

 

 

 

 私有方法

 

 

补充--抽象类  

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

 

 抽象类的使用

 

 

 

 

抽象类的注意事项

 

 

 

 

 

 

 

posted @ 2021-05-17 16:03  每天都要进步啊  阅读(2383)  评论(0编辑  收藏  举报