抽象类可以干什么?抽象类可以让别人必须做一件事情,比如实现一个方法。

那它有什么作用呢? 我开始也不知道啊,后来慢慢的知道了,在开发中,我知道了它是干什么的,怎么用的。比如你要写一个sdk给别人用。但是呢,有些东西你是要别人提供的,这时候你就可以写一个抽象类,让它返回给你你想要的东西。比如:

public abstract class ZAbsActivity extends Activity {private static final String KEY_ACTION = "KEY_ACTION";private static final String KEY_LOGIN_PLATFORM = "KEY_LOGIN_PLATFORM";private static final int VALUE_ACTION_CREATE_SHORTCUT = 300;private static final int VALUE_ACTION_THIRDPART_LOGIN = 301;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);initAction();}private void initAction(){Intent intent = getIntent();if(intent == null){finish();}int action = intent.getIntExtra(KEY_ACTION, 0);switch (action){case VALUE_ACTION_CREATE_SHORTCUT:createShortCut();break;case VALUE_ACTION_THIRDPART_LOGIN:String platform = intent.getStringExtra(KEY_LOGIN_PLATFORM);handleThirdPartLogin(platform);break;}finish();}private void handleThirdPartLogin(String platform){String token = getThirdPartToken(platform);Intent data = new Intent();data.putExtra("TOKEN", token);setResult(RESULT_OK, data);}protected abstract String getThirdPartToken(String platform);protected abstract int getShortCutResId();protected abstract String getIntentClassName();private void createShortCut(){PlugApi.createShortcut(this,"meizuxiaohsuo", getIntentClassName(),getShortCutResId());}
}

这是一个抽象类,里面的createShortCut方法是用来创建Android的图标的,但是,我是一个插件,创建图标必须是宿主程序来做,但是人家肯定不愿意写任何的代码。这里你都写好,你需要的参数,让它去实现。这样就可以把sdk做的很完美。别人只需要实现几个方法,不需要写代码。当然也可以用接口实现啦。这只是抽象类的冰山一角。好了,下班了。充实的一天!耶耶耶~!

抽象类的作用之一:sdk 传递你需要的参数相关推荐

  1. java抽象类有什么用_java中抽象类的作用是什么?抽象类作用的例子

    你知道java当中抽象类的作用是什么吗?有什么作用?下面和小编一起来详细的了解一下具体的作用,以及看看抽象类作用的例子吧! 一.java抽象类的作用 java抽象类的作用具体的可以分成以下的三点: 1 ...

  2. c语言中的抽象类的作用和意义,抽象类的作用是什么?

    Java中可以定义没有方法体的方法,该方法由其子类来具体的实现.该没有方法体的方法我们称之为抽象方法,含有抽象方法的类我们称之为抽象类. 抽象类的作用: 1.用于隐藏 对类型进行隐藏,我们可以构造出一 ...

  3. Java学习(9)(3种向上转型的方式、重写、向下转型、多态的优缺点、抽象类【基础规则、抽象类的作用】接口【基础规则、 接口的使用】)

    接上次博客:JAVA学习(8)继承 ( 继承的注意事项.Java的执行顺序.继承方式.限定词protcted.final关键词.多态.动态绑定和静态绑定 )_di-Dora的博客-CSDN博客 目录 ...

  4. php 中抽象类的作用,解释PHP中的抽象类。

    PHP5附带了面向对象的模型,面向对象的模型的一些概念是:类,对象,封装,多态性,抽象类和最终类,以及方法,接口和继承等.在本文中, 我们将讨论Abstract Class及其与PHP中的面向对象技术 ...

  5. 给函数传递不定关键字的参数 和

    转载:http://blog.csdn.net/u012102306/article/details/52250050 收藏一下 在上一篇文章『[Python]给函数传递不定个数的参数』中,我们主要讲 ...

  6. python函数关键字参数传递_Python给函数传递不定关键字的参数

    转载请注明来自公众号『数据挖掘机养成记』 前言 在上一篇文章『[Python]给函数传递不定个数的参数』中,我们主要讲解了*在函数定义和函数调用阶段的不同作用,并留了一个小问题: 我们用*定义了add ...

  7. Shell脚本传递带有空格的参数

    在另一博文<Shell脚本实现DB2数据库表导出到文件>中实现了通过脚本实现将DB2数据库导出到文件,需要传入七个参数,最后一个是一个带有空格字符串,所以传入的时候有点问题,会自动识别空格 ...

  8. js ajax传对象数组参数,JS传递对象数组为参数给后端,后端获取

    JS传递对象数组为参数给后端,后端获取. 前端JS代码: var conditons = []; var test1 = new Object(); test1.name="1"; ...

  9. ajax 入参为list_ajax传递给后台数组参数方式

    出自:http://blog.csdn.net/lingxyd_0/article/details/10428785 在项目上用到了批量删除与批量更改状态,前台使用了EasyUI的DataGrid,用 ...

最新文章

  1. 修改Eclipse格式化代默认长度
  2. 网工面对HR应该提前做好哪些准备?
  3. 用SSDT方法恢复冒险岛的部分函数
  4. C和指针之函数递归实现把amount表示的值转换为单词形式written_amount(unsigned int amount,char *buffer)
  5. 前端学习(2123):知识回顾
  6. 【iOS】TouchDown、TouchDownRepeat 和 TouchCancel 的区别
  7. MYSQL 4种插入数据的方式比较
  8. 低智商屌丝蒟蒻的2012成都题解
  9. linux动态时钟探索
  10. 异常处理1:复习、异常概述和异常体系结构
  11. 10个常见的Redis面试刁难问题
  12. linux系统字体文件在哪,linux系统安装字体方法教程介绍
  13. Android数据库大批量数据插入优化
  14. LINUX(CENTOS7.X)SVN部署文档+pycharmSvn
  15. 员工激励格言之《士气与斗志的激励》
  16. KConfig、Makefile详解以及ARM平台Linux内核的编译
  17. 北京医院张烜教授课题组招聘科研博士后
  18. linux中查看文件大小
  19. 深度学习入门---(1)神经元和激活函数
  20. Ubuntu平台下ROS系统查看RGB摄像头和深度摄像头的连接

热门文章

  1. cvGEMM()函数(矩阵通用乘法运算)
  2. 如何为python程序设置使用次数_提升Python程序性能的7个习惯
  3. 信号完整性与电源完整性分析_「1月11日 免费视频直播」高速PCB信号完整性和电源完整性仿真实战分析、ADS创新解决方案分享-送给工程师的一份新年礼物...
  4. LR12的log解释
  5. 谨慎的覆盖clone方法
  6. 遍历——PowerShell三分钟(十)
  7. 理解LSTM/RNN中的Attention机制
  8. linux下通过inotify-tools监控文件系统
  9. ubuntu 16.04 更新后搜狗输入法无法输入中文的问题
  10. 腾讯云Ubuntu挂载硬盘空间