Java接口详解

今天我们来讲讲什么是接口?

提到接口,我们大致想的都是这样的接口:

 不过今天要说的接口跟以上图片有些不一样。

接口是抽象类的延伸,可以将它看作是纯粹的抽象类,接口中的所有方法都没有方法体。

 接口使用interface关键字进行定义,语法:

public interface P{

        void draw();

}

public:接口可以像类一样被权限修饰符修饰,但public关键字仅限用于接口在于其同名的文件中被定义。

接口继承接口:

interface intf1{}

interface intf2 extends intf1{}

类实现接口:

class 类名 implements 接口1,接口2,接口3.....,接口n

举个例子,步兵可以射击,医务兵既可以射击又可以治疗他人。

作为子类,可以同时继承父类与接口,继承一个父类的同时再实现一个接口,可以写成以下形式:

public class P extends Q(类名) implement Pa(接口名)

不过要注意的是,在接口中,方法必须被定义未public或abstract形式,其他修饰符不能被编译器认可,即使不将方法声明为public,它也是public形式。在接口中定义的任何字段都自动是static和final。

那么问题来了,抽象类和接口有什么区别呢?

抽象类是对根源的抽象,接口是对动作的抽象

 抽象类与接口有五个不同点:

1、子类只能继承一个抽象类,但可以实现任意多个接口

2、抽象类中的成员变量可以是各种类型,接口中的成员变量只能是静态常量

3、抽象类中可以有静态方法和静态代码块等,接口中不可以

4、接口没有构造方法,抽象类可以有构造方法

5、接口里只能包含抽象方法(静态方法和默认方法),抽象类里则完全可以包含普通方法。

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值