美文网首页
Java中抽象类和接口的区别

Java中抽象类和接口的区别

作者: SinX竟然被占用了 | 来源:发表于2017-09-07 21:06 被阅读0次

区别:

  1. 接口(interface)可以说成是抽象类的一种特例,接口中的所有方法都必须是抽象的。

  2. 接口中的方法定义默认为 public abstract 类型,接口中的成员变量类型默认为 public static final (这里需要说一点,既然一个变量被final修饰了,那么这个变量就是一个常量!!!!!变量必须初始化成常量!!!!!)

语法区别:

  1. 抽象类可以有构造方法,接口中不能有构造方法。

  2. 抽象类中可以有普通成员变量,接口中没有普通成员变量。

  3. 抽象类中可以包含非抽象的普通方法,接口中的所有方法必须都是抽象的,不能有非抽象的普通方法。

  4. 抽象类中的抽象方法的访问类型可以是public,protected,但接口中的抽象方法只能是public类型的,并且默认即为public abstract类型。

  5. 抽象类中可以包含静态(static)方法,接口中不能包含静态(static)方法。

  6. 抽象类和接口中都可以包含静态成员变量(static),抽象类中的静态成员变量的访问类型可以任意,但接口中定义的变量只能是public static final类型,并且默认即为public static final类型。

  7. 一个类只能继承一个抽象类,但是可以实现多个接口。

  8. 一个接口可以继承多个接口。

  9. 抽象类所体现的是一种继承关系,要想使得继承关系合理,父类和派生类之间必须存在"is-a"关系关系,即父类和派生类在概念本质上应该是相同的。对于接口则不然,并不要求接口的实现者和接口定义在概念本质上是一致的,仅仅是实现了接口定义的契约而已,是"like-a"的关系。

相关文章

  • 2019Java工程师面试题汇总,全会的话月薪至少3W+

    Java基础知识 Java中==和equals和hashCode的区别int与integer的区别抽象类的意义接口...

  • 第18条:接口优于抽象类

    java中可以用来定义允许多个实现的类型有两种:接口和抽象类。 接口和抽象类的区别: 1,抽象类中可以存在某些方法...

  • Java抽象类和接口类

    Java中接口和抽象类的区别是什么?什么时候用接口?什么时候用抽象类?抽象类和接口存在的意义是什么?能解决哪些编程...

  • Java 接口知识点

    接口的特性 函数式接口 抽象类和接口区别 Lambda表达式 java常用接口

  • java中级开发必知

    (一)Java 1.接口和抽象类的区别 ①抽象类里可以有构造方法,而接口内不能有构造方法。 ②抽象类中可以有普通成...

  • 高端基础面试题

    接口和抽象类的区别 比较点抽象类接口默认方法抽象类可以有默认的方法实现java 8之前,接口中不存在方法的实现实现...

  • 最近Java高级工程师面试总结

    面试总结 Java基础 Hashtable和HashMap的区别。 抽象类与接口的区别。 final关键字的使用和...

  • JAVA

    JAVA java中接口与抽象类的区别? 简述jvm的内存布局? java对象创建的过程? java重载与重写的区...

  • 浅谈java中抽象类与接口

    1.抽象类和接口的区别: 在Java中,使用abstract关键字修饰的类称之为抽象类。抽象类是不能被实例化的,通...

  • Java基础知识复习笔记(2)

    1. Java接口和抽象类的区别 语法上: 抽象类可以提供成员方法的实现细节,而接口中只能存在public abs...

网友评论

      本文标题:Java中抽象类和接口的区别

      本文链接:https://www.haomeiwen.com/subject/sbrwjxtx.html