Java抽象类与接口

短命女 2023-10-04 16:34 245阅读 0赞

抽象类

本章节为基础补充

抽象方法:只有方法的名字,没有方法的实现(abstract)
要点:抽象类的所有方法,继承了他的子类,都必须去实现他的方法,除非子类也是abstract方法
缺点:但是抽象类有个缺陷,只可以单继承。

所以后面要学习接口,因为接口可以多继承

注意:

  1. 抽象类不能new出来,只能靠子类去实现。
  2. 抽象类可以写普通方法
  3. 抽象方法只能在抽象类中写
  4. 抽象类有构造器

接口

接口比抽象类还要抽象
开发中常常会先设计好接口,然后找外包去依次实现

区别:
普通类:只有具体实现
抽象类:具体实现和规范(抽象方法)都有!
接口:只有规范!自己无法写方法,专业的约束!,约束和实现分离:面向接口编程

  1. 接口就是规范,定义的是一组规则
  2. 接口的本质是契约,就像我们人间的法律一样。制定好后大家都遵守。
  3. oo的精髓,是对对象的抽象,最能体现这一点的就是接口。为什么我们讨论设计模式都只针对具备了抽象能力的语言(比如c++、java、c#等),就是因为设计模式所研究的,实际上就是如何合理的去抽象。

声明类的关键字是class,声明接口的关键字是interface

几个注意点:

interface 定义的关键字,接口都需要有实现类
接口中所有定义其实都是抽象的 public abstract
常量是public static final
用implements实现接口,实现多个用逗号分隔
接口不能被实例化,接口中没有构造方法

例子:
首先定义一个接口

  1. public interface demo1 {
  2. //接口中所有定义其实都是抽象的 public abstract
  3. void add(String name); //即为public abstract void add(String name);
  4. void delete(String name);
  5. void update(String name);
  6. void query(String name);
  7. }
  8. //interface 定义的关键字,接口都需要有实现类

然后实现它

  1. public class User implements demo1{
  2. @Override
  3. public void add(String name) {
  4. }
  5. @Override
  6. public void delete(String name) {
  7. }
  8. @Override
  9. public void update(String name) {
  10. }
  11. @Override
  12. public void query(String name) {
  13. }
  14. }

下一节

Java内部类

发表评论

表情:
评论列表 (有 0 条评论,245人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Java抽象接口

    抽象类 > 本章节为基础补充 > 抽象方法:只有方法的名字,没有方法的实现(abstract) > 要点:抽象类的所有方法,继承了他的子类,都必须去实现他的方法,除

    相关 抽象接口

       对于面向对象编程来说,抽象是它的一大特征之一。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。这两者有太多相似的地方,又有太多不同的地方。很多人在初学的时

    相关 抽象接口

    我在求职一份Android应用开发实习生时,一家公司的面试官问了我这样的一道题目:“请谈谈你对抽象类与接口的理解?”我当初的回答,仅是简单解释了什么是抽象类,什么是接口,而至于

    相关 接口抽象

    抽象类 包含抽象方法的叫做抽象类,抽象类中也可以含普通方法。 接口 接口没有提供任何实现,而抽象类中还可以有一些实现。 接口中可以包含成员变量,比如说int x=5;但

    相关 抽象接口

    抽象类与接口 抽象类的作用 抽象类是从多个具体类中抽象出来的父类,它具有更高层次的抽象。从多个具有相同特征的类中抽象出一个抽象类,以这个抽象类作为其子类的模板,从而

    相关 接口抽象

    JAVA基础之接口与抽象类的区别 1. java不能多继承,一个类只能继承一个抽象类;但是可以实现多个接口; 2. 继承抽象类是一种IS-A的关系,实现接口是一种LIKE