抽象类VS接口

来源:互联网 发布:新业汽修软件视频 编辑:程序博客网 时间:2024/05/18 01:40

基于JDK1.8

  • 接口以interface修饰,抽象类以abstract修饰
  • 在接口中所有的方法、属性默认为public,抽象类里面允许有private方法和属性
  • 一个类可以实现多个接口,但只能继承一个抽象类
  • 接口和抽象类都不能使用new来创建。
  • 在接口中声明的属性默认是public final的,抽象类中没有这个限制
  • 接口一般不允许有实现的方法,抽象类中允许有实现了的方法
  • 如果想在接口写实现了的方法,可以加上关键词default,实现了此接口的类同样可以覆盖这个方法。例子如下:
public interface ITest {    public void next();    public default void add() {//加上default关键词即可添加默认实现        System.out.println("ITest");    }}public class Test implements ITest {    @Override    public void add() {//实现了此接口的类同样可以覆盖有默认实现的方法。        System.out.println("class test");    }    @Override    public void next() {        // TODO Auto-generated method stub    }} 
原创粉丝点击