抽象类和接口

本章学习目录

一,抽象类abstract

定义

  • 抽象类类似于模板,为子类提供了一个通用模板,子类可以在这个基础上进行扩展
  • 通过抽象类我们可以做到严格限制子类设计,使子类之间更加通用

抽象方法

  • 不需要方法体的方法,需要用abstract关键字修饰,只出现在抽象类中

特点

  • 有抽象方法的类只能定义抽象类
  • 抽象类不能实例化,即不能通过new关键字来实例抽象类
  • 抽象类可以包含属性,方法,构造方法,但是构造方法不能用来new实例,只能用来被子类调用
  • 抽象类只能用来被继承
  • 抽象方法必须被子类实现
二,接口interface

定义

  • 全面的专业的实现了,规范和具体实现的分离
  • 接口并不是类,编写接口的方式和类很相似,但是它们属于不同的概念。类描述对象的属性和方法。接口则包含类要实现的方法。
    除非实现接口的类是抽象类,否则该类要定义接口中的所有方法。

特点

  • 对比于抽象类,抽象类提供了某些具体的实现,而接口不提供任何实现,
  • 接口中的所有方法都是抽象方法,接口是面向规范的,规定了一批具有公共方法的规范
  • 接口定义了功能,实现该接口即实现这些功能
  • 访问权限符只能能使public或默认
  • 接口名和类名采用相同的命名机制
  • 接口可以被多继承
  • 接口中的属性只能是常量,即默认为public static final 修饰的可以不写,(因为是静态的所以可以直接通过接口名点出来)
  • 接口中的方法默认用public abstract修饰的可以不写
  • 即接口中只能包抽象方法jdk1.8后新加了默认方法和静态方法,不能有普通属性,构造方法,普通方法,静态块等
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值