浅谈 Java 关于接口与抽象类的理解(后续更新)

来源:互联网 发布:it狂人女主角 编辑:程序博客网 时间:2024/06/09 18:47

鉴于本人才疏学浅,按照大家易于理解的方式进行说明:

  1. 接口是抽象类,顾名思义,类是物体的集合抽象,那抽象类也就是对类的进一步抽象。而这个抽象是对功能的抽象即方法,也就是说对类进一步的抽象出了方法。那么其中的方法必然也就是抽象方法了。以方法为功能核心,那么其他变量只作用于这个方法的,所以变量便是 abstract final(类变量,不可更改)。
  2. 接口这种抽象类中的抽象方法给出的是一种标准,与父类类似理解(继承了你就有我的属性和方法),implement了接口,那你就得遵循我的规范,于是就得实现它里边的方法。
  3. 所以说继承是一级一级下来的(纵向单继承),而接口是规范,我可以实现多个规范,所以是多实现。接口也是类,所以存在继承,如果一个类实现了子接口那么也得实现父接口(子有父,都是标准),父类实现了接口,子类不用实现(我父都遵循过了)。
  4. 类实现了接口,那么他就有了接口的类型(接口的引用),除了覆盖(多态),我们都是用引用来使用其变量和方法的。
  5. 由于是一种特殊的抽象功能,他不能创建自己的对象,也就是不能new
  6. 我们可以使用instanceof 关键字来引用的所属类型。

接口的作用:

  1. 我们只是完成接口中方法返回值类型,而无需明确内部具体代码,这样就可以针对不同类型的交通工具来调用该方法。
  2. 我们只是关心其中的方法,消除了对外部程序的依赖性。就是说我这是对外提供的东西(类似店面),然后呢方法只是他们中的商品。
  3. 所以他的好处就是分离内部与外部的耦合,提供对外的服务。
    1. 抽象类

  1. 抽象类就是一个模板,来让大家进行不通的构造功能。构造出一个固定的一组行为的抽象描述,但是这组行为却能够有任意个可能的具体实现方式。这个抽象描述就是抽象类,而这一组任意个可能的具体实现则表现为所有可能的派生类。
  2. 抽象类就是为了继承而存在的,如果你定义了一个抽象类,却不去继承它,那么等于白白创建了这个抽象类,因为你不能用它来做任何事情。
  3. 子类继承了抽象类必须覆盖其中的抽象方法,要不自己成为抽象类。
  4. 成员变量并不像接口中变量那么多限制。
  5. 抽象类中含有自己的属性和方法,实现它的类可以使用这些具体的代码。

1 0
原创粉丝点击