JAVA中的接口与抽象类的区别记忆

本文详细阐述了接口和抽象类的概念及其使用场景。接口强调多态性和多继承,适合定义统一的操作规范;抽象类强调代码复用,适用于一组类共有的特性和行为。文中还对比了两者在继承、方法实现等方面的差异。

 

接口与抽象类:抓住接口抽象类的控制、非控制修饰->方法的 控制、非控制修饰和书写形式(仅声明or混合使用)->实现类中方法的书写(仅把abstract去掉)。

1.1接口
    1.1  接口用public [默认][abstract] interface interfacename 定义,其中abstract是可选的,当不声明时也会编译时默认添加。

1.1.1其中的公共常量:都是自动添加为抽象的、最终的、静态的,abstract final static没有变量

1.1.2而方法隐含为public,默认,abstract, 的,不能为final,static的;

方法只能是声明方法void specialProcessEvent().

1.2抽象类:
    1.2  抽象类用 public [默认] abstract class classname或 <类的访问控制符>  class classname 但是内部方法有abstract类型的 来定义,

1.2.1 数据成员类型可以是任意 定义的。

1.2.2方法,其中只要有一个成员为抽象的则该类为抽象类(也就是方法可以混合形式使用 ),而方法用public protected 默认 abstract , 不能为final,static,private。

总结:方法都可为 public ,默认,protected, abstract 不能为final private static,因为要用后面的实现或继承(非 private,private)、属于对象(非static)。 只有interface 中常量要求为abstract final static.

后面实现类中方法去掉abstract,其它相同即可。

  2:继承和引用区别:

    2.1  接口为多继承的,不能实现接口类,只能由类来实现,所以接口是上散下聚合于类的.
    2.2  抽象类只可以单继承,实现多接口,只要子类不为抽象类时,都实现了抽象的成员,才能声明对象。

3. 多态:
(1)接口和抽象类通过子类声明的引用都是只能调用自己的方法实现循环处理,而子类特有的只能通过子类对象调用;故实现统一处理

(2) 另一更重要的多态是子类方法的重载方法,使得方法名相同但是对象不同,实现功能也不同

使用抽象类是侧重于代码的复用;而使用接口的动机是侧重实现多态性(统一接口),且提供灵活的多继承。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值