java 抽象类与接口的区别介绍

抽象类与接口的区别

抽象类

包含抽象方法的类就是抽象类,声明的语句:abstract class
必须是public protected

接口

对行为的抽象,声明语句:interface
抽象方法的修饰符:public abstract
成员变量的修饰符:public static final

语法层面

  1. 抽象类中可以包含成员方法的实现细节,而接口中只能存在抽象方法-public abstract
  2. 抽象类中的成员变量可以是各种类型,接口中的成员变量只能是public static final
  3. 抽象类中可以包含静态方法和静态代码块,接口中不能包含
  4. 一个类只能继承一个抽象类,可以实现多个接口
  5. 访问修饰符不同:抽象类方法的修饰符是public/protected;接口中方法的修饰符必须是public

设计层面

抽象类是对事物的抽象,对类的抽象;接口是对行为的抽象,描述的是一种行为规范

抽象类是对整个类进行抽象描述,包含属性和行为;接口只能对类的行为进行抽象

附上一幅图:

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

(0)

相关推荐

  • 细数Java接口的概念、分类及与抽象类的区别

    Java接口(Interface),是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能). 一.接口含义: 1.Java接口,Java语言中存在的结构,有特定的语法和结构: 2.一个类所具有的方法的特征集合,是一种逻辑上的抽象. 前者叫做"Java接口",后者叫做"接口". Java接口本身没有任何实现,因为Java接口不涉及表象,而只描述public行为,所

  • java 中接口和抽象类的区别与对比

    java 中接口和抽象类的区别与对比 接口和抽象类的概念不一样. 接口是对动作的抽象,抽象类是对根源的抽象. 抽象类表示的是,这个对象是什么.接口表示的是,这个对象能做什么.比如,男人,女人,这两个类(如果是类的话--),他们的抽象类是人.说明,他们都是人. 人可以吃东西,狗也可以吃东西,你可以把"吃东西"定义成一个接口,然后让这些类去实现它. 所以,在高级语言上,一个类只能继承一个类(抽象类)(正如人不可能同时是生物和非生物),但是可以实现多个接口(吃饭接口.走路接口). 第一点:接

  • java 抽象类与接口的区别总结

    java 抽象类与接口的区别总结 abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力. abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进行抽象类定义时对于 abstract class和interface 选择显得比较随意. 其实,两者之间还是有很大的区别的,对于它们的选择甚至反映出对于问题领域本质的 理解

  • Java中抽象类和接口的区别_动力节点Java学院整理

    接口 1 因为java不支持多重继承,所以有了接口,一个类只能继承一个父类,但可以实现多个接口,接口本身也可以继承多个接口. 2 接口里面的成员变量默认都是public static final类型的.必须被显示的初始化. 3 接口里面的方法默认都是public abstract类型的.隐式声明. 4 接口没有构造方法,不能被实例化. 5 接口不能实现另一个接口,但可以继承多个接口. 6 类如果实现了一个接口,那么必须实现接口里面的所有抽象方法,否则类要被定义为抽象类. 抽象类 1 如果将一个类

  • Java基础篇_有关接口和抽象类的几道练习题(分享)

    呃,一定要理解之后自己敲!!!这几道题,使我进一步了解了接口和抽象类. 1.设计一个商品类 字段: 商品名称,重量,价格,配件数量,配件制造厂商(是数组,因为可能有多个制造厂商) 要求: 有构造函数 重写 toString 方法 重写 equals方法,进行两件商品的比较 package TT; import java.util.Arrays; public class G { private int 重量; private String 商品名称; private int 价格; privat

  • Java的接口和抽象类深入理解

    Java的接口和抽象类深入理解 对于面向对象编程来说,抽象是它的一大特征之一.在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类.这两者有太多相似的地方,又有太多不同的地方.很多人在初学的时候会以为它们可以随意互换使用,但是实际则不然.今天我们就一起来学习一下Java中的接口和抽象类. 一.抽象类 在了解抽象类之前,先来了解一下抽象方法.抽象方法是一种特殊的方法:它只有声明,而没有具体的实现.抽象方法的声明格式为: abstract void fun(); 抽象方法必须用abstra

  • Java接口和抽象类用法实例总结

    本文实例讲述了Java接口和抽象类用法.分享给大家供大家参考,具体如下: 接口 1 因为java不支持多重继承,所以有了接口,一个类只能继承一个父类,但可以实现多个接口,接口本身也可以继承多个接口. 2 接口里面的成员变量默认都是public static final类型的.必须被显示的初始化. 3 接口里面的方法默认都是public abstract类型的.隐式声明. 4 接口没有构造方法,不能被实例化. 5 接口不能实现另一个接口,但可以继承多个接口. 6 类如果实现了一个接口,那么必须实现

  • 深入浅出分析Java抽象类和接口【功能,定义,用法,区别】

    本文实例讲述了Java抽象类和接口.分享给大家供大家参考,具体如下: 对于OOP编程来说,抽象是它一大特征之一.在Java中,可以通过两种形式来体现OOP的抽象:抽象类和接口. 这两者有相似之处也有很大的不同之处. 一.抽象类 在了解抽象类之前,先了解下抽象方法.抽象方法是一种特殊的方法:只有声明,而没有具体的实现.抽象方法的声明格式为: abstract void fun(); 抽象方法必须用abstract关键字进行修饰.如果一个类含有抽象方法,则称这个类为抽象类,这个类就必须在类前用abs

  • java 抽象类与接口的区别介绍

    抽象类与接口的区别 抽象类 包含抽象方法的类就是抽象类,声明的语句:abstract class 必须是public protected 接口 对行为的抽象,声明语句:interface 抽象方法的修饰符:public abstract 成员变量的修饰符:public static final 语法层面 抽象类中可以包含成员方法的实现细节,而接口中只能存在抽象方法-public abstract 抽象类中的成员变量可以是各种类型,接口中的成员变量只能是public static final 抽象

  • Java抽象类和接口的区别详情

    1.抽象类 vs 接口  方法类型: 接口只能有抽象方法.抽象类可以有抽象和非抽象方法.从 Java 8 开始,它也可以有默认和静态方法. 最终变量: 在 Java 接口中声明的变量默认是最终的.抽象类可能包含非最终变量. 变量类型: 抽象类可以有final.non-final.静态和非静态变量.接口只有静态和最终变量. 实现: 抽象类可以提供接口的实现.接口不能提供抽象类的实现. 继承 vs 抽象:  Java 接口可以使用关键字"implements"来实现,抽象类可以使用关键字&

  • java 抽象类和接口的区别详细解析

    abstractclass和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力.abstractclass和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进行抽象类定义时对于abstractclass和interface的选择显得比较随意.其实,两者之间还是有很大的区别的,对于它们的选择甚至反映出对于问题领域本质的理解.对于设计意图的理解是否正确.合理.本文将对它们

  • C++中抽象类和接口的区别介绍

    1. 如果一个类B在语法上继承(extend)了类A, 那么在语义上类B是一个类A.2. 如果一个类B在语法上实现了(implement)接口I, 那么类B遵从接口I制定的协议. 使用abstract class的根本原因在于, 人们希望通过这样的方式, 表现不同层次的抽象. 而interface的本质是一套协议. 在程序设计的发展中, 人们又发现接口可以用来表示对行为的抽象, 不过, 这只是interface的一种用法不是其本质. 理论结合实际才是最好的学习方式, 不过在这里, 我只想举一些我

  • Java详细讲解不同版本的接口语法和抽象类与接口的区别

    目录 什么是接口? 接口的语法: (JDK7.0) 接口的语法: (JDK8.0) 接口的语法: (JDK9.0)—(私有方法) 接口的分类 常量接口: 空接口: 函数式接口: 什么是接口? 说到接口,USB大家肯定不陌生~接口是一种标准.规范.注意:接口一旦制定好,使用者和实现者都必须遵循的标准. 接口的语法: (JDK7.0) (1) 关键字:interface (2) 语法:  interface 接口名{} (3) 接口编译之后会生成对应的 .class文件 (4) 接口不能创建对象,但

  • 深入浅析Java 抽象类和接口

    目录 一.抽象类 1.抽象类 1.1抽象类的定义 1.2抽象方法的定义方式 1.3抽象类的定义方式 2.抽象类和实例类的区别 3.抽象类示例 4.抽象类的特征 二.接口 1.接口 1.1接口的定义 1.1定义一个接口 1.2 接口的使用 1.3接口的注意事项 2.接口示例 3.接口的特征 三.抽象类和接口的区别 一.抽象类 1.抽象类 1.1抽象类的定义 在Java面向对象当中,所有的对象都是用过类进行描绘的,但是并不是所有的类都是用来描绘对象的,如果一个类没有包含足够多的信息来描述一个具体的对

  • Java抽象类和接口使用梳理

    目录 抽象类 抽象方法 抽象类三大原则 接口 接口使用原则 JDK两大内置接口 java.lang.Comparable 比较接口 java.lang.Cloneable 克隆接口 对象的深浅拷贝 抽象类和接口的区别 抽象类 什么是抽象类呢?在现实生活中,我们说“人类”,我们无法对应到具体某个人,同样的,“动物类”.“图形类”这些无法映射到具体的对象的类就是抽象类. 抽象类是普通类的超集,意思就是普通类有的抽象类也有,只是它比普通类多了一些抽象方法而已.这些抽象方法可以有一个,也可以有多个. 它

随机推荐