这篇文章给大家分享的是Java的抽象类与接口的不同之处。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。
抽象类:在Java中被abstract关键字修饰的类称为抽象类,被abstract关键字修饰的方法称为抽象方法,抽象方法只有方法的声明,没有方法体。抽象类的特点:
1、抽象类不能被实例化只能被继承;
2、包含抽象方法的一定是抽象类,但是抽象类不一定含有抽象方法;
3、抽象类中的抽象方法的修饰符只能为public或者protected,默认为public;
4、一个子类继承一个抽象类,则子类必须实现父类抽象方法,否则子类也必须定义为抽象类;
5、抽象类可以包含属性、方法、构造方法,但是构造方法不能用于实例化,主要用途是被子类调用。
接口:Java中接口使用interface关键字修饰,特点为:
1、接口可以包含变量、方法;变量被隐士指定为public static final,方法被隐士指定为public abstract(JDK1.8之前);
2、接口支持多继承,即一个接口可以extends多个接口,间接的解决了Java中类的单继承问题;
3、一个类可以实现多个接口;
4、JDK1.8中对接口增加了新的特性:
默认方法(default method):JDK 1.8允许给接口添加非抽象的方法实现,但必须使用default关键字修饰;定义了default的方法可以不被实现子类所实现,但只能被实现子类的对象调用;如果子类实现了多个接口,并且这些接口包含一样的默认方法,则子类必须重写默认方法;
静态方法(static method):JDK 1.8中允许使用static关键字修饰一个方法,并提供实现,称为接口静态方法。接口静态方法只能通过接口调用(接口名.静态方法名)。
以上就是Java的抽象类与接口的不同之处,看完之后是否有所收获呢?如果想了解更多相关内容,欢迎关注亿速云行业资讯!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。