OOP是面向对象编程Object Oriented Programming,特征分别是封装、继承、多态、抽象。
封装:封装是指将对象信息状态通过访问权限修饰符隐藏在对象内部,不允许外部程序直接访问,如果外部程序要访问对象内部,可以调用内部提供的get或set方法。简单来说,封装就是要找出某一类事务的公性然后提取出来。
继承:子类继承了父类所有的成员方法和属性,并且可以拥有自己特性。继承解决了代码的重用问题
多态:多态存在的三个条件1.继承2.重写3.父类引用指向子类对象
多态的实现方式1.接口实现,继承父类方法重写,同一个类中进行重载
重载:多个同名函数同时存在,具有不同的参数个数/类型,返回值类型可以相同可
以不同,调用方法时通过传递给它们的不同参数个数和参数类型来决定具体使用哪个方法, 这就是多态性,存在于父类和子类、同类中
重写:1.参数列表必须完全与被重写的方法相同
2.返回的类型必须一直与被重写的方法的返回类型相同
3.访问修饰符的限制一定要大于被重写方法的访问修饰符
4.重写方法一定不能抛出新的检查异常或者比被重写方法申明更加宽泛的检查型异常
5.存在于父类和子类之间,方法被定义为final不能被重写。
抽象:如果一个类含有抽象方法,则称这个类为抽象类,抽象类必须在类前用abstract关键字修饰。因为抽象类中含有无具体实现的方法,所以不能用抽象类创建对象。
抽象方法必须为public或者protected(因为如果为private,则不能被子类继承,子类便无法实现该方法),缺省情况下默认为public。

最新文章

  1. (JS+CSS)实现图片放大效果
  2. linux驱动开发之块设备学习笔记
  3. Centos安装jdk
  4. ModernUI教程:第一个ModernUI应用(手动编写)
  5. 转 cocos2d-x 优化(纹理渲染优化、资源缓存、内存优化)
  6. php延迟加载的示例
  7. 制作简易计算器处理结果Servlet
  8. 【开源项目12】Retrofit – Java(Android) 的REST 接口封装类库
  9. 黑盒测试用例设计方法&理论结合实际 -> 判定表驱动法
  10. NetSerialComm的基本使用方法
  11. C++中单链表的建立和操作
  12. UVA 10603 Fill
  13. 强大的修图app--美图秀秀
  14. 基于linux vim环境python代码自动补全
  15. Linux CentOS 6.5 配置网络
  16. log4j源码解析-文件解析
  17. springboot~为Money类型添加最大值和最小值的注解校验
  18. java比较排序Comparable和Comparator
  19. dojo Datagrid 实现数据删除功能
  20. Chinese remainder theorem again(中国剩余定理)

热门文章

  1. ubuntu20.04 apache2 配置安装ssl证书
  2. 寻找写代码感觉(三)之使用 Spring Boot 编写接口
  3. wpf 滚动文字 跑马灯
  4. 【mysql】mysql逻辑框架简介及show profile说明
  5. C#多线程---I/O线程实现异步请求
  6. Win10安装gcc
  7. ES6对象扩展——部分新的方法和属性
  8. MySQL之连接查询和子查询
  9. GUI容器之布局管理器
  10. How to check type of files without extensions in python? 不通过文件扩展名,怎样知道文件类型?