JAVA中的抽象类和接口

Java是典型的面向对象语言,接口和抽象类是Java面向对象设计的两种基础机制。

抽象类:了解抽象类之前,先看一下什么是抽象方法,

抽象方法:只有声明,没有具体实现

                  抽象方法必须用abstract关键字进行修饰

abstract void example();

所以抽象类是不能被实例化的类,可以有一个或者多个抽象方法,也可以没有抽象方法。

抽象类主要用于抽取相关Java类的共用方法实现或者共同成员变量,然后通过继承的方式达到代码复用的目的。(抽象类不能多继承)

例如:java.util.AbstractList

接口:接口是对行为的抽象,是抽象方法的集合,接口可以达到API定义和实现分离的目的。

另外不能被实例化,不能包含任何非常量成员,任何field都是隐含着public static final 的意义,

同时也没有非静态方法实现,也就是说要么是抽象方法,要么是静态方法。

例如:java.util.List

但是从Java8开始,interface增加了对default method的支持,Java9以后甚至可以定义private default method,Default method提供了一种二进制兼容的扩展已有接口的方法,比如熟悉的java.util.Collection,在Java8中主要是增强Lambda,Stream相关的功能。所以严格来说,Java8以后接口也是有方法可以实现的。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值