当前位置:首页学习笔记Java笔记3.5 JDK8,9新特性-抽象类-接口-多态

3.5 JDK8,9新特性-抽象类-接口-多态

3.5 JDK8,9新特性-抽象类-接口-多态

抽象类

抽象类介绍

  • 什么是抽象方法 ? 什么是抽象类 ?
  • 抽象方法 : 将共性的行为(方法), 抽取到父类之后, 发现该行为在父类中无法给出具体明确, 这种方法就应该设计为抽象方法.

抽象类 : 抽象类就是一个特殊的父类,  特殊的点, 在于内部可以定义抽象方法.

  • 如何定义抽象方法和抽象类 ?
  • 抽象方法 :  public abstract void 方法名 ();

抽象类 :  public abstract class 类名 {}

抽象类的注意事项

3.5 JDK8,9新特性-抽象类-接口-多态

abstract 的冲突问题

3.5 JDK8,9新特性-抽象类-接口-多态

接口

接口介绍 :

  • 接口体现的是对规则的声明
  • 什么时候定义接口 ?
  • 如果你发现一个类中所有的方法,都是抽象方法,那么这个类的唯一价值,就是在声明规则
  • 对于这种类,通常会改写为 Java 中的接口

接口定义格式 \ 实现格式 :

  • 定义格式 :
  • public interface 接口名 {}
  • 实现格式 :
  • public class 类名 implements 接口名 {}
  • 接口的实现类(子类) :
  1. 重写所有抽象方法
  2. 将实现类变成抽象类 (不推荐)

接口中的成员特点 :

  • 成员变量
  • 只能是常量, 因为默认被 public static final

细节: 这三个关键字没有顺序关系

  • 成员方法
  • 只能是抽象方法, 因为默认被 public abstract 修饰
  • 构造方法
  • 没有

接口和类之间的各种关系 :

  • 类和类的关系
  • 继承关系, 只支持单继承, 不支持多继承, 但是可以多层继承
  • 类和接口的关系
  • 实现关系, 可以单实现, 也可以多实现, 甚至可以继承一个类的同时, 实现多个接口
  • 接口和接口的关系
  • 继承关系, 可以单继承, 也可以多继承

抽象类和接口的对比 :

3.5 JDK8,9新特性-抽象类-接口-多态
3.5 JDK8,9新特性-抽象类-接口-多态

多态

多态介绍 :

3.5 JDK8,9新特性-抽象类-接口-多态

多态的成员访问特点 :

3.5 JDK8,9新特性-抽象类-接口-多态

多态的好处和弊端 :

3.5 JDK8,9新特性-抽象类-接口-多态

问题: 非要调用怎么办 ?

  1. 建议直接创建子类对象去
  2. 向下转型

多态中的转型问题 :

  • 向上转型
  • 从子到父

Fu f = new Zi();

  • 向下转型
  • 从父到子

Zi z = (Zi)f;

多态转型的安全隐患 :

ClassCastException (类型转换异常):

如果被转的引用类型变量,对应的实际类型和目标类型不是同一种类型,那么在转换的时候就会出现ClassCastException

3.5 JDK8,9新特性-抽象类-接口-多态

必掌握案例 :

  1. 猫狗案例
  2. 支付接口
  3. 订单业务

知识细节 :

01-JDK8开始接口的改进

3.5 JDK8,9新特性-抽象类-接口-多态
3.5 JDK8,9新特性-抽象类-接口-多态

02-JDK9开始接口的改进

3.5 JDK8,9新特性-抽象类-接口-多态
温馨提示:

文章标题:3.5 JDK8,9新特性-抽象类-接口-多态

文章链接:https://www.cutrui.cn/3008.html

更新时间:2023年07月31日

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
Java笔记学习笔记

3.4 static-继承-final

2023-7-31 13:00:10

Java笔记学习笔记

3.6 代码块-内部类-Lambda表达式-模板设计模式-toString方法

2023-7-31 13:26:48

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索

你有新的私信

请务必要查看您的私信哟~~