JAVA 抽象与接口

来源:互联网 发布:罗技m100r 知乎 编辑:程序博客网 时间:2024/05/18 22:56
 
================
              抽象
================
抽象的概念
  1. 抽象类不能被直接实例化,只有他的非抽象子类才可以被实例化。
  2. 抽象类中不一定有抽象方法,抽象方法一定在抽象类中。
  3. 抽象方法只有方法头,没有方法体。
  4. 构造方法和类方法(static修饰的方法)不能声明为抽象方法
  5. 抽象类的子类必须给出抽象类的所有方法的具体实现,除非子类也是抽象类。
  6. abstract不能和private/static/final一起使用。

抽象的意义
规定实现方法的统一接口

===============
             接口
===============
接口的概念
一个全部由抽象方法组成的,用implements修饰的,方法和变量的集合,叫做接口。

在使用接口过程中的注意点:
  1. 一个类可以实现多个接口,实现接口的类,必须重写接口中所有成员方法。
  2. 接口中的变量,都是最终的静态变量。(final,static)
  3. 接口没有构造函数,不能创建实例,没有提供方法的实现。
  4. 接口不是类,可能有点绝对,但至少可以说是不是class衍生出来的类。
================
抽象类和接口的区别
================
  1. 接口用interface来定义的,抽象类是class;
  2. 接口中的方法都是抽象方法,抽象类中的方法不一定,可以有,也可以没有;
  3. 接口采用多重继承机制,抽象类采用单一的继承机制;
  4. 抽象类表示的是一种继承关系,接口表示的是功能,二者在问题域的理解上。