javaSE_day09_抽象类和接口

2018-05-26  本文已影响0人  智慧之门

抽象类

  场合

    1.不适合 创建对象,都是用的 子类的对象;

    2.为所有的 子类 提供了模板。

  注意

    1.抽象类 不能创建对象;

    2.抽象类 中 可以包含 抽象方法 也可以不包含;

    3.必须 子类继承使用;

    4.普通的 子类 实现抽象父类,必须 实现抽象父类中的所有抽象方法;(抽象子类除外);

    5.构造器不能是抽象的;

    6.abstract 不能与 private ,static ,final一起联用。

-----------------------------------------------------

interface  接口{

  常量  ;  public static final

  抽象方法  public abstract

  default

  static

  静态内部类型(静态内部 类 ,接口,枚举)

}

接口中 的所有成员都是 public 的

注意

  1.接口不能创建对象的;

  2.用实现类 实现使用,普通的实现类 必须实现接口 中的所有抽象方法;(抽象实现类除外);

  3.实现类 可以实现多个接口的功能;

  4.接口之间 可以多继承。

-------------------------------

多个接口中同名方法区分

  1.静态方法 用接口名区分;

  2.默认方法 ,实现类必须重写,调用区分 接口名.super.默认方法名();

  3.抽象方法,同一重写实现。

-------------------------------------------------------------

抽象类 和 接口 的异同:

相同

  1.都不能创建对象;

  2.都有 抽象方法;

  3.都是用 子类 和 实现类 创建对象使用;

  4.普通子类 和 实现类 要 实现抽象父类 和 接口中的所有抽象方法(抽象的除外)。

不同点

  1.子类 只能继承一个抽象父类;

  2.实现类来说 ,实现多个 接口的功能;

  3.接口 可以多继承。

-------------------------------------------------------------

        接口: 飞()

鸵鸟  麻雀

------------------------------------------------------

多态

  一种物质多种形态。

多态特征

  1.方法重写;

  2.父类引用 指向 子类对象;接口引用 指向 实现类

多态体现

  屏蔽了子类的差异,子类独特的功能屏蔽了 不能调用了。

------------------------------------------------------------------------------

类多态

接口多态

参数多态

类型转换

  1.向上类型转换

    子类 -》 父类类型

  2.向下类型转换

    父类 -》 子类类型

    强转

    (子类类型)父类对象

------------------------------------------------------------

运算符instanceof:

       运算 对象 属于哪种 类 或 接口 类型,是 此 类或接口类型  true;不是                false

--------------------------------------

UML类图:

一、泛化(继承)

  访问修饰符:

      - private

      默认 不用

      # protected

      + public

二、实现 (接口)

三、依赖

  使用关系;

  体现:局部变量,参数

四、关联

    拥有的关系

    三种:

      1:1

      1:n

      m:n 

  体现:成员变量

(1)聚集(聚合):强关联

  整体 和 局部的关系,局部离开了整体可以独立存在。

  2)组合 :强聚集

  整体和局部的关系,局部离开了主体不能独立存在。

上一篇 下一篇

猜你喜欢

热点阅读