关于抽象类和接口
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于抽象类和接口相关的知识,希望对你有一定的参考价值。
抽象类:含有abstract修饰符的类即为抽象类,它是不能创建实例对象的,含有abstract的方法必须定义在抽象类中,但抽象类中的方法不一定必须是抽象的,抽象类中的抽象方法再其子类中必须被实现,所以不能有抽象的静态方法(静态方法是不能被继承的)。
接口:是一个特殊的抽象类,接口中定义的方法都必须是抽象的,接口中的方法都是public abstract类型,接口中的成员变量默认为public abstract final类型。
语法区别:① 抽象类中可以拥有普通的成员变量,接口中没有。
②抽象类中可以有构造器,接口中没有。
③抽象类只能被单继承,接口可以被多实现。
④抽象类中可以包含非抽象方法,接口中的所有方法都是抽象的
⑤抽象类中可以包含静态方法,接口中不能。
⑥抽象类和接口都可以有静态成员变量,抽象类中的静态成员变量访问类型任意,但接口只能是public abstract final.
注:java8新增,接口中定义的方法有抽象方法,默认方法,类方法。(没有普通方法和构造方法)(ps:对java8的新特性还不是特别了解,以后会看,暂时备注在这里)
以上是关于关于抽象类和接口的主要内容,如果未能解决你的问题,请参考以下文章