java接口和抽象类一看就懂的基础知识

接口(英文:Interface,为抽象类型,是抽象方法的集合,接口以interface后跟接口名来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法):
              1 为特殊的抽象类(没有构造方法),不能被实例化
              2 可多重继承(但继承后的实现类必须实现接口的所有方法),一个类可以实现多个接口但只能继承一个父类(在java中为了安全性是不提倡多重继承的)
          3 属性都为public、static、final(不能包含别的成员变量,及都为全局常量),方法也都为abstract public(都为抽象方法)
              4 接口一定是描述事物的功能的(如:鸟、飞机可以实现飞Fly接口,具备飞的行为即功能

抽象(abstract class后跟抽象类名来声明):
                1 把对象的共性抽取出来,使代码更简洁易维护
                2 定义一系列的规范,继承抽象类的实体类必须满足这个规范(老实说这个我也不懂、希望有大神解答)
                3 好的抽象应该是现实世界的反映,把一些对象的共性封装成抽象类,但又不存在与显示世界,所以这样的抽象类也是不能被实例化的(它的实例化应该是交给塔的子类去实例化的)比如new Animal()的对象,你并不知道Animal是什么动物,特没有一个具体的动物概念,故如果想知道这是个什么样的动物就必须对它来进行特点的描述,如狗类继承它实例化后有汪汪的叫声,这样我们才知道它是什么,所以这个Animal就是一个抽象类。

                而接口和抽象的区别在于:接口描述了事物的功能、抽象描述了事物的本质。(即接口表示的是,这个对象能做什么。抽象类表示的是,这个对象是什么)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值