Java进阶--面向对象_接口、接口和抽象类的区别

33 篇文章 0 订阅

接口:

1.接口是引用数据类型

2.接口是完全抽象的。(抽象类是半抽象),或者说接口是特殊的抽象类

3.接口定义语法[修饰符列表] interface 接口名{ }

4.接口支持多继承,一个接口可以继承多个接口

5.接口中只有常量抽象方法

6.接口中的方法都是抽象方法,所以接口中的方法不能有方法体

7.接口中所有元素都是public修饰的

8.接口中的抽象方法定义时,public abstract可以省略

9.接口中的常量定义时,public static final可以省略


类实现接口

1.语法class 类名 implements 接口名{ 类体 }

2.非抽象类实现接口的话,必须将接口中所有的抽象方法全部实现(覆盖、重写)

3.重写方法时必须定义为public,因为重写方法的时候方法的权限不能比重写前更低

4.接口和类也可以实现多态,调用其他接口中的方法需要接口转型

5.一个类可以同时实现多个接口,要重写所有接口中的所有方法


继承和实现都存在

  • 继承写在前,实现写在后

接口在开发中的作用

1.接口在开发中的作用,类似于多态在开发中的作用

  • 多态:面向对象编程,不要面向具体编程,降低程序耦合度,提高程序的扩展力
  • 接口:面向接口编程,可以降低程序的耦合度提高程序的扩展性,符合OCP开发原则

2.接口可以解耦和,解的是调用者和实现者的耦合。调用者面向接口调用,实现者面向接口编写实现


抽象类和接口的区别(语法上)

抽象构造方法继承实现内容使用频率
抽象类半抽象类和类之间只能单继承一个抽象类只能继承一个类有构造方法
接口完全抽象没有接口之间可以多继承一个类可以同时实现多个接口只有常量和抽象方法

类型和类型之间的关系

1.is a

  • Cat is an Animal
  • 满足is a的表示“继承关系”

2.has a

  • I have a Pen
  • 满足has a关系的表示关联关系
  • 关联关系通常以“属性”的形式存在

3.like a

  • Cooker like a FoodMenu
  • 满足like a的表示“实现关系”
  • 实现关系通常是:类实现接口
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值