首页 > 代码库 > 关于抽象类和接口

关于抽象类和接口

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

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

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

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

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

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

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

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

 

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

关于抽象类和接口