抽象类和接口:abstract

来源:互联网 发布:爱上学软件下载 编辑:程序博客网 时间:2024/05/01 10:55

包含抽象方法的类

抽象方法:只有方法声明,没有方法体的方法

抽象类是对问题领域进行分析后得出的抽象概念,是对一批看上去不同,但 是本质上是相同的具体概念的抽象。例如定义一个动物类Animal,该类提供一个行动方法action(),但是不同的动物行动方式是不一样的,此时就可以将Animal定义成抽象类,该类技能包含action()方法, 又无需提供其方法实现(没有方法体)。

语法:

[访问符] abstract class类名{

[访问符] abstract <返回类型>方法名([参数列表]);

}

     

抽象类不能实例化,只能被当成父类来继承。抽象类是从多个具有相同特征的类中抽象 出来的一个父类,具有更高层次的抽象,作为其子类的模板,从而避免子类设计的 随意性

 

接口和抽象类的比较:

相似特征

1.接口和抽象类都不能被实例化,需要被其他类实现或继承

2.接口和抽象类的类型变量都可以指向其实现类或子类的实例对象

3.接口和抽象类都可以包含抽象方法,实现接口或继承抽象类时都必须实现这些抽  象方法

设计过程中的区别

    1.接口体现的是一种规范,这种规范类似于总纲,是系统各个模块应该遵循的标准, 以便个模块之间实现耦合、以及通信功能

2.抽象类体现的是一种板块式设计。抽象类可以被当成系统实现过程中的中间产品, 该产品已实现了部分功能但不能当成最终产品,必须进一步完善,而完善可能有几 种不同方式

使用过程中的区别

1.接口只能由抽象方法,默认方法和类方法,不能有其他实现的方法

2.抽象类则既可以有抽象方法,也可以有已经实现的方法

 

3.接口中定义以的变量都是最终的静态常量

4.抽象类中的定义的变量与普通类一样,默认是缺省

 

5.接口中定义的方法都默认缺省的是public

6.抽象类则与类一样是默认缺省的

 

7.接口不包含构造方法

8.抽象类可以包含构造方法,抽象类的构造方法不是用于创建对象,而是让其子类调用以便完成初始化操作

 

9.一个类最多只能由一个直接父类,包括抽象类

10.一个类可以直接实现多个接口;一个接口可以有多个父类


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 电脑页面显示不全怎么办 脸上发痒长痘怎么办 扣扣魔性表情泡泡消失怎么办 脚起小泡泡很痒怎么办 孕妇脚痒起水泡怎么办 孕妇手脚起湿疹怎么办 嘴巴破皮了怎么办 小便刺痛阴唇红肿怎么办 集成墙面挂照片怎么办 苹果电脑网页游戏打不开怎么办 苹果6plus发热怎么办 玩手游手机太卡怎么办 苹果七发烫厉害怎么办 苹果手机延迟高怎么办 王者荣耀总是卡怎么办 王者荣耀卡屏怎么办 王者荣耀网络延迟怎么办 荣耀8手机卡了怎么办 荣耀v10有点卡怎么办 荣耀10有点卡怎么办 8g内存吃鸡会崩怎么办 玩看门狗很卡怎么办 拼多多人数不够怎么办 玩cf想吐怎么办 玩手机头晕恶心怎么办 玩手机头疼恶心怎么办 看手机想吐怎么办 英雄联盟取名后怎么办 王者荣耀改名重复怎么办 刺激战场改名重复怎么办 省钱快报忘记密码怎么办 手机直播网速卡怎么办 触手tv直播黑屏怎么办 酷狗id密码忘记怎么办 打游戏网络不稳定怎么办 电脑打字法没了怎么办 家庭版密钥专业版系统怎么办 win7应用程序不能启动怎么办 win7用户密码忘记了怎么办 win7用户密码忘了怎么办 windows开不了机怎么办