Java中抽象类与接口的概念及区别

抽象类和接口的概念及区别:


目录

抽象类和接口的含义及区别

1.抽象类的定义

2.接口的定义

3.抽象类与接口的区别


1.抽象类的定义

         当所有的子类对父类的方法都进行了不同程度的重写,那么这个方法的方法体没有实际含义就可以把方法体去掉,再加上abstract关键字修饰方法将其变成抽象方法。

         当一个类中出现了抽象方法,那么这个类就变成了抽象类;普通类继承抽象类则需要重写抽象方法,如果不想重写所有的抽象方法的话,就可以将普通类变成抽象类。

抽象类特点总结:

  1. 抽象类中不一定有抽象方法,但有抽象方法的类一定是抽象类。
  2. 抽象类中可以定义属性及普通方法。
  3. 抽象类中可以定义构造方法。
  4. 抽象类不可以创建(new)对象。
  5. 抽象方法可以重载。
  6. 抽象方法不能被private/static/final单独修饰,因为抽象方法要被重写。
  7. 抽象方法不能被final关键字修饰,因为最终类(被final关键字修饰的类)不能被继承。
  8. 抽闲类的目的就是为了延展类的继承结构。

2.接口的定义

         当抽象类中的所有方法都是抽象方法时,则可以把抽象类变成接口来表示(用interface来修饰);接口本质不是一个类,类与接口之间通过implements产生“实现”的关联关系。

          Java支持接口与接口之间的多继承关系,类与接口之间的多实现就是为了让实现类能具有更多丰富的功能。实现类需要重写接口里所有的抽象方法。

接口的特点总结:

  1. 接口本质不是类。
  2. 接口里的方法都是抽象方法。
  3. 接口不可以定义构造方法。
  4. 接口不可以创建对象。
  5. 接口里可以定义属性,并且接口里的属性默认被 public final static 共同修饰,接口里的抽象方法默认被 public abstract共同修饰。
  6. 接口的目的是让实现类注入更多的特性。

3.抽象类与接口的区别

  1. 接口不是类。
  2. 接口里只有抽象方法,而抽象类中还可以有构造方法以及普通方法。
  3. 类和接口支持多实现,接口和接口支持多继承。
  4. 接口里的属性和抽象方法都有默认修饰符。
  5. 抽象类是为了延展类的继承结构。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值