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

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

一,封装

  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 修饰的方法),而抽象类是可以有静态代码块和静态方法。

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

  • 接口不是被类继承了,而是要被类实现。
原文地址:https://www.cnblogs.com/DawnCHENXI/p/7668238.html