011Java 接口 抽象类 详解

本文探讨了Java中的接口和抽象类的概念及其差异。接口作为完全抽象的类,仅包含常量和抽象方法,强调多继承和统一标准。而抽象类则允许有非抽象方法和构造函数,提供部分实现。两者都不能直接实例化,但抽象类可通过继承实现,接口通过implement关键字实现。实现接口必须实现所有接口方法,而继承抽象类则需实现所有抽象方法。
摘要由CSDN通过智能技术生成

interface 接口

接口是一种约定的标准。
屏蔽软件的复杂性和硬件的简单性之间的差异,为软件提供统一的标准。

面向接口编程:可以降低代码间的耦合性,提高代码的可扩展性和维护性。

接口的特点:

  • 接口中只有常量
    在这里插入图片描述

  • 接口是一个完全抽象的类。只有方法定义,没有方法实现。

  • 提供两种访问修饰符
    1:public 项目可见
    2:default(缺省值) 包可见

  • 使用 关键字 implement 实现接口,可以实现多个接口。(Java 是单继承的)

  • 接口不能实例化,即不能使用new关键字。故没有构造函数,否则编译报错

  • 实现接口,必须实现接口所有的抽象方法。否则,只能定义为抽象类

  • 使用implement实现接口

abstract 抽象类

抽象类的抽象能力弱于接口。

抽象类的特点:

  • abstract 修饰方法为抽象方法。 抽象方法,只有方法定义,没有方法实现。
  • 类中存在抽象方法,该类必须是抽象类。
  • 抽象类不一定只有抽象方法。抽象类可以由具体的方法。
  • 抽象类中可以定义 构造方法、抽象方法、普通属性和方法、静态属性和方法。
  • 不能实例化,实例化只能实例化具体的类。
  • 使用extends 继承 抽象类
public abstract class Color {
}
public class Apple extends Color {
    private int num;
}

在这里插入图片描述

interface 和 abstract 的区别

相同:

  • 都可以被implement实现
  • 都不能被实例化
  • 都有抽象方法

不同:

  • 接口中只有常量
  • 接口只有抽象类,没有构造函数
  • 抽象类可以由抽象方法,也可以存在其他方法
  • 实现接口,需要实现接口中的所有方法
  • 继承抽象类,需要实现抽象类中的所有抽象方法。
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

EngineerForSoul

你的鼓励是我孜孜不倦的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值