抽象类理解
来源:互联网 发布:单片机交通灯设计报告 编辑:程序博客网 时间:2024/05/16 18:42
工作了三年,一直在做安卓的东西。然而却没有真正的了解过Java,真的自愧不如。以前一直都是使用C语言,用习惯了就不喜欢轻易改变。而一旦开始了改变,就再也停不下来了。
今天了解了一下java的抽象类,在此谈谈自己的理解。
抽象类的特点:
1. 使用了关键字 abstract声明的类 就是 抽象类
2. 抽象类可以不包含抽象方法,但包含了抽象方法的类就一定要是抽象类,要在class前添加abstract
3. 抽象类不能被实例化,也就是说不能new 抽象类
4. 抽象类可以被继承,继承抽象类的派生类假如还是包含了未被实现的抽象方法,那派生类也是不能被实例化的,而且必须有加上abstract关键字。假如全部抽象方法都提供了方法定义,那派生类是可以被实例化的。
5. 如第二点所说,抽象类可以不包含抽象方法。假如一个类没必要拥有任何抽象方法,而且我们想禁止该类的所有实例,就可以把这个类定义成抽象类.具体的例子可以参考以下博文 http://blog.csdn.net/gxnu/article/details/1766044
为什么要有抽象类?
在我看来,当两个以上的类具有相同的特性时,就可以将其概括起来,定义在这个名为抽象类的特殊类之中。
比如说,我的工作是编写各个AT command,来检查手机的每个外设功能是否正常。针对不同外设的命令其实都需要有检查参数,处理过程,返回结果的步骤。那么我就可以定义一个AtCommand的抽象类
<pre class="java" name="code">public abstract class AtCommand { protected abstract boolean checkArgu(String argu[], String argv[]); protected abstract synchronized String handleCommand(String argu[]); protected abstract String responseOK(String arg);}
当我需要写一个检查电池情况的命令时,则可以继承AtComand这个抽象类了
public class AtBattery extends AtCommand { protected boolean checkArgu(String argu[], String argv[]) { Logi("检查参数"); } protected synchronized String handleCommand(String argu[]) { Logi("针对各个参数的处理"); } protected String responseOK(String arg) { Logi("返回OK"); }}
0 0
- 抽象类的理解
- 理解抽象类
- 抽象类理解
- 抽象类理解
- 类的抽象理解
- 抽象类理解
- 抽象类的理解
- 抽象类与抽象方法理解
- 理解接口和抽象类
- 理解接口与抽象类
- Java抽象类、接口理解
- 理解抽象类和接口
- 理解抽象类和接口
- 对抽象类的理解
- Java抽象类的理解
- C++的抽象类理解
- 对抽象类的理解
- 抽象类和接口理解
- 黑马程序员——java基础之语法
- 计算两个字符串相似度的LD算法
- 什么是微信商城?如何开通?
- 低版本的ArcEngine项目升级到高版本的ArcEngine程序
- Google 镜像站搜集 (2015.10.3 更新)
- 抽象类理解
- 黑马程序员--【阳哥笔记】极速秒杀Java基础之笔记系列...阳哥笔记才是史上最强最全最详细的笔记
- 百度分享 ajax 加载 冲突
- 堆栈式摄像和背照式摄像头是什么?
- SpringMVC+Mybatis整合的增删改查
- Git/IOS Subversion GitHub BitBucket
- IOS 应用架构
- 【Walk on】我仅仅想留下点东西
- 如何做好微信营销东莞微龙科技告诉您