抽象类与接口的定义与区别

如果一个类中没有包含足够的信息来描述一个具体的对象,这样的类就是抽象类。
抽象类的作用:1.包装一组行为的抽象描述。
              2.禁止某个类的实例化。
类声明前增加关键字abstract,则声明该类为抽象类。
注意:1.抽象方法的访问控制符不能是privat的。那么抽象类(父类)的引用是无法访问private的成员的。
      2。抽象方法也不能是静态的。
接口是某些通用规则的集合体。接口有助于程序设计人员摆脱底层具体实现的困扰,更关注于程序的框架设计。
接口是一般行为的定义和契约。接口是高层次,它着重考虑需要的功能,而具体实现细则交给具体的接口的实现类。
接口的特征:
1.接口中的成员变量都是public、static、final类型的(都可省略),必须被显示初始化,即接口中的成员变量为静态常量。
2.接口中方法默认都是public、abstract类型的(都可省略),没有方法体,不能被实例化。
3.接口中只能包含public、static、final类型的成员变量和public、abstract类型的成员方法。
4.接口中没有构造方法,不能被实例化。
5.一个接口不能实现(implements)另一个接口,但它可以继承(extends)多个其他的接口。
6.接口必须通过类来实现它的抽象方法。
7.当类实现了某个接口时,它必须实现接口中的所有抽象方法,否则这个类必须声明为抽象的。
8.不允许创建接口的实例(实例化),但允许定义接口类型的引用变量,该引用变量指向实现了这个接口的类的对象。
9.一个类只能继承一个直接的父类,但可以实现多个接口,间接地实现了多继承。
接口和抽象类的区别:
1.抽象类可以包含某些实现代码,但接口没有任何实现部分。
2.抽象类可以包含成员变量而接口没有。
3.抽象类可以有构造方法,而接口没有。
4.抽象类可以继承自其它类和接口而接口仅仅能继承自接口。
5.接口支持多继承而抽象类仅仅支持单继承。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值