关于抽象类和接口

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于抽象类和接口相关的知识,希望对你有一定的参考价值。

    抽象类含有abstract修饰符的类即为抽象类,它是不能创建实例对象的,含有abstract的方法必须定义在抽象类中,但抽象类中的方法不一定必须是抽象的,抽象类中的抽象方法再其子类中必须被实现,所以不能有抽象的静态方法(静态方法是不能被继承的)。

    接口:是一个特殊的抽象类,接口中定义的方法都必须是抽象的,接口中的方法都是public abstract类型,接口中的成员变量默认为public abstract final类型。

    语法区别:① 抽象类中可以拥有普通的成员变量,接口中没有。

                       ②抽象类中可以有构造器,接口中没有。

                       ③抽象类只能被单继承,接口可以被多实现。

                       ④抽象类中可以包含非抽象方法,接口中的所有方法都是抽象的

                       ⑤抽象类中可以包含静态方法,接口中不能。

                       ⑥抽象类和接口都可以有静态成员变量,抽象类中的静态成员变量访问类型任意,但接口只能是public abstract final.

 

注:java8新增,接口中定义的方法有抽象方法,默认方法,类方法。(没有普通方法和构造方法)(ps:对java8的新特性还不是特别了解,以后会看,暂时备注在这里)

以上是关于关于抽象类和接口的主要内容,如果未能解决你的问题,请参考以下文章

关于抽象类和接口一些简单的概念

关于抽象类和接口的一点小小的认知

java 中 关于抽象类和接口的一些知识

AJPFX关于抽象类和接口的区别

关于JAVA中的抽象类和接口中常量和变量定义的原因

JAVA---抽象类和接口基础知识详解(及两者异同点)