zoukankan      html  css  js  c++  java
  • java中的抽象,多态和接口

    一     抽象类

      1 什么是抽象类?

      如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。使用关键字 abstract 来声明。

      2 抽象类的特点。

      1   抽象类不能实例化    2  抽象类不一定包含抽象方法,但是一个类包含抽象方法,它就一定是抽象类。

      3 抽象类中的抽象方法只是声明,不包含方法体。 4 继承抽象类的子类如果不是抽象类就必须重写父类的所有抽象方法。

      5.构造方法,类方法(用 static 修饰的方法)不能声明为抽象方法。

    二  多态

      1 什么是多态?

       多态是同一个行为具有多个不同表现形式或形态的能力。

      2 有什么好处?

      1 消除类型之间的耦合关系  2可替换性 3 可扩充性 4 接口性 5灵活性  6 简化性

      3 多态存在的必要条件

         继承  重写  父类引用指向子类。ps: 父类型变量存储子类型对象调用子类特有方法时 需要向下转型。

         Animal a = new Cat();  动物(Animal)为父类 ,猫(Cat)为子类,声明的猫对象存储在动物类的变量中

      此时如果变量a 想要调用猫的方法。就必须向下转型,因为a 动物类  进行  Cat c = (Cat)a; 把a 转换成猫类型 ,这样

      就可以调用猫类的方法。

      4 多态的实现方式

        1  重写   2 接口  3 抽象类和抽象方法。

    三   接口

        1 什么是接口?

       抽象方法的集合。 用interface来声明。

        2 接口 与 类的区别?

        1 接口不能实例化对象  2 接口没有构造方法 3 接口中的所有方法都必须是抽象方法  4 接口不能包含成员变量,除了static 和final

        5 接口不是被类继承了,而是被类实现了  6 接口支持多继承

      3  抽象类和接口的区别

        1 抽象类的方法可以不是抽象方法,但接口中的方法必须是抽象方法。

        2 抽象类的成员变量没有限制 ,但接口中的成员变量只能是 public static final 类型的。

        3 接口中不能有static 修饰的方法,抽象类可以有。

        4 一个类只能继承一个抽象类(单继承) ,但是一个类却可以实现多个接口(多实现) 类在实现接口时使用 implements

        5 接口和接口之间可以继承,且接口之间存在多继承。使用 extends 

      

  • 相关阅读:
    Nginx--sub_filter模块
    Scala学习5 objext
    Scala学习4 Class
    Scala学习3 Map
    Scala学习2 Array、ArrayBuffer
    Scala学习1 基本数据类型,条件,循环
    flink1.9新特性:维表Join解读
    Blink源码编译
    Flink Maven项目兼容多版本Kafka
    Ant build.xml程序简单说明
  • 原文地址:https://www.cnblogs.com/foreverone/p/10316956.html
Copyright © 2011-2022 走看看