美文网首页
Java抽象类和接口

Java抽象类和接口

作者: 阳光下的狐狸 | 来源:发表于2017-02-23 09:56 被阅读0次
abstract 的理解

abstract(抽象)可以修饰类、方法
如果将一个类设置为abstract,则此类必须被继承使用。此类不可生成对象,必须被继承使用。
abstract 和 static 不能放在一起,否则便会出现错误。(这是因为static不可被覆盖,而abstract为了生效必须被覆盖。)
abstract 和 final 不能放在一起,否则便会出现错误。

抽象类的意义

为其子类提供一个公共的类型 封装子类中得重复内容 定义抽象方法,子类虽然有不同的实现 但是定义是一致的

接口特性

接口中每一个方法也是隐式抽象的,接口中的方法会被隐式的指定为 public abstract(只能是 public abstract,其他修饰符都会报错)。
接口中可以含有变量,但是接口中的变量会被隐式的指定为 public static final 变量(并且只能是 public,用 private 修饰会报编译错误)。
接口中的方法是不能在接口中实现的,只能由实现接口的类来实现接口中的方法。

接口的意义

提供一个规范,要求类必须实现指定的方法。
解决 Java 中的单继承问题,可以用接口来实现多继承的功能,简单化多重继承中继承树的复杂程度。
增强程序的扩展性。

抽象类和接口的区别

抽象类中的方法可以有方法体,就是能实现方法的具体功能,但是接口中的方法不行。
抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是 public static final 类型的。
接口中不能有静态代码块以及静态方法(用 static 修饰的方法),而抽象类中可以有静态代码块和静态方法。注意:Java 8的新特性允许接口中存在静态方法。
一个类只能继承一个抽象类,而一个类却可以实现多个接口。
接口中不能有构造函数和main方法;而抽象类中可以有。

接口与类的区别

接口不能用于实例化对象。
接口没有构造方法。
接口中所有的方法必须是抽象方法。
接口不能包含成员变量,除了 static 和 final 变量。
接口不是被类继承了,而是要被类实现。
接口支持多重继承。

接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concreteclass)?

接口可以继承接口。但是要使用extends,而不是用implements。
抽象类可以实现接口。
比如java.util中的AbstractCollection类就是实现的Collection接口。
抽象类可以继承实体类。
eg:
interface MyInterface {}
interface AnotherInterface extends MyInterface {}
class EntityClass {}
abstract class AbstractClass extends EntityClass implements MyInterface {}

相关文章

  • Java基础-抽象类和接口

    抽象类和接口也是 Java 面试中常考的,下面就来总结一下抽象类和接口的相关知识。 抽象类是类,Java 中类是单...

  • java抽象类和接口小记

    Java抽象类和接口小记 Java抽象类和接口实现了java的多态.多态是面向对象程序语言的核心,在项目开发过程中...

  • java abstract

    参考java抽象类和抽象方法Android开发:抽象类(abstract class)和接口(Interface)...

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

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

  • Java 接口知识点

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

  • java抽象类和接口

    参考:java抽象类和接口--树上月 总结:1.抽象类在java语言中体现的是继承关系,即"is-a"关系,而接口...

  • Java抽象类和接口类

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

  • 接口类&抽象类

    java的接口类和抽象类的特点 java中抽象类的特点: 抽象类和抽象方法必须用关键字abstract修饰 2.如...

  • Java8以后,抽象类和接口该怎么选?

    本文将对jdk1.8以后的接口和抽象类进行讨论,假定读者已经了解java中接口(interface)和抽象类(ab...

  • 接口和抽象类有什么区别

    学习Java基础知识,打通面试关~十三接口与抽象类面试常客:谈谈你对抽象类和接口的理解 接口用interface修...

网友评论

      本文标题:Java抽象类和接口

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