美文网首页Java基础知识
java中接口和抽象类的区别

java中接口和抽象类的区别

作者: 正阳Android | 来源:发表于2018-01-25 19:01 被阅读8次

1.抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是public static final类型的

2.抽象类中的方法可以是抽象的,也可以是非抽象的,接口中的方法都是抽象的;

3.抽象类可以有静态代码块和静态方法,接口中不能含有静态代码块以及静态方法

这是三个主要的区别;

从设计上其实可以有更好的理解,譬如一个抽象的鸭子类,具有游泳的功能;另外写了一个接口,具有飞行的方法;

对于A鸭子,继承抽象鸭子类,可以游泳

对于C鸭子,继承抽象鸭子类,会游泳,同时还想飞行,那么怎么办呢?

第一种办法就是抽象鸭子类里面添加飞行的功能,但是问题来了,所有继承这个类的鸭子都将会有飞行的功能;然而我们只需要让c类鸭子具有飞行的功能;

第二种办法,接口里面添加上游泳的办法,让c鸭子实现此接口,但是其他类譬如鸟类想要飞行也必须实现此接口,就要同时实现游泳的功能;

这个时候,就可以让c继承抽象鸭子类,具备游泳的功能,同时实现接口具有飞行的功能;

由此可以更好的理解: 抽象类是对一种事物的抽象,而接口是对行为的抽象。

相关文章

  • 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/kpqbaxtx.html