Java公开课-02.抽象类和接口

简介: 在讲述抽象类和接口之前,扯点别的:封装,继承,多态,我只做个简单的涉略 一,封装   1.体现:     将变量和方法放到一个类中     私有字段封装成共有属性   2.this:     如果发现成员变量的名称和方法参数的名称相同,如何区分???     答:是否有this关键字做前缀区分,有this的,成员变量,没有this的,方法参数   3.封装价值:     可以保护私有字段,限制非法访问 二,继承   不介绍如何使用。

在讲述抽象类和接口之前,扯点别的:封装,继承,多态,我只做个简单的涉略

一,封装

  1.体现:

    将变量和方法放到一个类中

    私有字段封装成共有属性

  2.this:

    如果发现成员变量的名称和方法参数的名称相同,如何区分???

    答:是否有this关键字做前缀区分,有this的,成员变量,没有this的,方法参数

  3.封装价值:

    可以保护私有字段,限制非法访问

二,继承

  不介绍如何使用。讲点新颖的

  1.体现:

    extends修饰

  2。继承关系下,构造的执行顺序

    1)。首先由测试方法跳入子类方法名,不进入方法体

    2)。跳入父类的方法名,紧接着进入父类构造方法的方法体

    3)。父类构造方法体执行完毕时,说明父类对象已经构建完毕

    4)。控制权再次交到子类构造的构造体内执行

    5)。子类构造执行完毕,回到测试方法

    6)。测试方法该代码执行完毕,创建出对象

三,多态

  1.含义:

    不同事物执行同一命令产生不同结果

  2.依据:

    里氏替换

四,抽象类

  1.抽象类出现的价值

    为了约束子类方法的格式,为了让子类可以灵活重写父类的 方法(抽象类的方法只有方法名,没有方法体)

  2.抽象类的写法

    由abstract修饰类名

  3.抽象类可以有什么?抽象类和抽象方法的注意事项:

    1)。抽象类中可以有非抽象成员

    2)。抽象方法一定在抽象类中

    3)。抽象类和抽象方法用abstract修饰

    4)。抽象类不能实例化

    5)。抽象类不能是静态类

    6)。子类必须重写抽象父类的抽象方法,除非子类也是抽象类

    7)。抽象方法不能有方法体,甚至连{}都不能有

五,接口

  1.编程的进化史

    机器语言

    汇编 语言

    面向过程的语言

    面向对象的语言(可以说面向接口编程)

  2.接口interface

  3.接口中可以包含什么

    抽象方法和静态常量

  4.接口与类的区别:

    接口不能用于实例化对象。

    接口没有构造方法。

    接口中所有的方法必须是抽象方法。

    接口不能包含成员变量,除了 static 和 final 变量。

  5.抽象类和接口的区别

    抽象类中的方法可以有方法体,就是能实现方法的具体功能,但是接口中的方法不行。

    抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是 public static final 类型的。

    接口中不能含有静态代码块以及静态方法(用 static 修饰的方法),而抽象类是可以有静态代码块和静态方法。

    .一个类只能继承一个抽象类,而一个类却可以实现多个接口。

  • 接口不是被类继承了,而是要被类实现。
目录
相关文章
|
8天前
|
Java
Java中的抽象类:深入了解抽象类的概念和用法
Java中的抽象类是一种不能实例化的特殊类,常作为其他类的父类模板,定义子类行为和属性。抽象类包含抽象方法(无实现)和非抽象方法。定义抽象类用`abstract`关键字,子类继承并实现抽象方法。抽象类适用于定义通用模板、复用代码和强制子类实现特定方法。优点是提供抽象模板和代码复用,缺点是限制继承灵活性和增加类复杂性。与接口相比,抽象类可包含成员变量和单继承。使用时注意设计合理的抽象类结构,谨慎使用抽象方法,并遵循命名规范。抽象类是提高代码质量的重要工具。
25 1
|
25天前
|
Java
【Java】一个简单的接口例子(帮助理解接口+多态)
【Java】一个简单的接口例子(帮助理解接口+多态)
16 0
|
29天前
|
Java
JAVA接口
JAVA接口
12 0
|
4天前
|
安全 Java 编译器
接口之美,内部之妙:深入解析Java的接口与内部类
接口之美,内部之妙:深入解析Java的接口与内部类
24 0
接口之美,内部之妙:深入解析Java的接口与内部类
|
8天前
|
缓存 安全 Java
Java中函数式接口详解
Java 8引入函数式接口,支持函数式编程。这些接口有单一抽象方法,可与Lambda表达式结合,简化代码。常见函数式接口包括:`Function<T, R>`用于转换操作,`Predicate<T>`用于布尔判断,`Consumer<T>`用于消费输入,`Supplier<T>`用于无参生成结果。开发者也可自定义函数式接口。Lambda表达式使实现接口更简洁。注意异常处理和线程安全。函数式接口广泛应用于集合操作、并行编程和事件处理。提升代码可读性和效率,是现代Java开发的重要工具。
18 0
|
8天前
|
Java 关系型数据库 MySQL
大厂面试题详解:Java抽象类与接口的概念及区别
字节跳动大厂面试题详解:Java抽象类与接口的概念及区别
33 0
|
8天前
|
Java
Java中的多线程实现:使用Thread类与Runnable接口
【4月更文挑战第8天】本文将详细介绍Java中实现多线程的两种方法:使用Thread类和实现Runnable接口。我们将通过实例代码展示如何创建和管理线程,以及如何处理线程同步问题。最后,我们将比较这两种方法的优缺点,以帮助读者在实际开发中选择合适的多线程实现方式。
19 4
|
25天前
|
Java
【Java】Clonable 接口
【Java】Clonable 接口
11 1
|
26天前
|
Java C#
java中的接口
java中的接口
11 0
|
26天前
|
Java
Java抽象类
Java抽象类
8 0