【Java】接口与abstract类的区别

目录

1.接口的定义

2.接口的使用 

3.abstract类与接口的比较


1.接口的定义

       由于Java不支持多继承性,即一个类只能有一个父类。因此,单继承性使得Java变得简单,易于管理和维护。

接口使用关键字interface来声明,格式:interface  接口的名字。

例:

intrefance Animal{
//定义一个接口,名字为Animal
}

         接口只能写常量,且为公共静态常量。所有接口体的常量都是static常量,访问权限一定都是public(允许省略public,final和static修饰符),所有的抽象方法的访问权限一定都是public(允许省略public,abstract修饰符)

例:

interface Print{
public final static int Max=100;//等价写法int Max=100;
public abstract void add();//等价写法void add();
public abstract float sum(float x ,float y);
}
//省略的部分系统会默认补充

2.接口的使用 

     一个类可以实现多个接口,类通过关键字implements声明自己实现一个或多个接口,如果实现多个接口,则用逗号隔开接口名,例如:

class A implements Printable,Addable;//Printable和Addable为两个接口

   注意:类与类之间是继承,属于单继承,接口之间叫多继承,类与接口之间叫实现,且可以多实现。

如:Animal 的子类Dog类实现Eatable和Sleepable接口

class Dog extends Animal implements Eatable,Sleepable;

     一个类在继承另一个类的同时还可以实现接口,此时extends关键字必须位于implements

关键字之前。

例如 :

class Dog extends canidae implements Animal{
//先继承再实现
}

注意:不能反过来,只能先继承再实现

3.abstract类与接口的比较

    1.abstract类和接口都可以有abstract方法。

    2.接口中只可以有常量,不能有变量;而abstract类中既可以有常量也可以有变量。

    3.abstract类中也可以有非abstract方法,接口不可以。 

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小劉要努力~

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值