封装(encapsulation)

属性可以用来描述事物的特征,方法可以描述事物可以做的操作。封装就是把同一类事务的共性(包括属性和方法)归到一个类中。

  • 提高代码的安全性,通过访问权限将不想让客户端看到的实现细节隐藏。
  • 提高代码的复用性,将能实现特定功能的代码封装成一个独立的实体后,是程序员可以在需要的时候调用。
  • “高内聚”:封装细节,便于修改内部代码,提高可维护性。
  • “低耦合”:简化外部使用,便于调用者使用,便于扩展和协作。

访问控制符

封装的实现—使用访问控制符

  • private表示私有,只有自己的类才能访问。
  • defult(如同没有修饰符),只有同一个包的类能访问。
  • protected表示只可以被同一个包的类以及其它包中的子类访问。
  • public表示可以被该项目的所有包中的类访问。

继承

继承是所有OOP(Object Oriented Programming) 语言都不可或缺的一部分。
    只要创建了一个类都会继承Object类。如果制定了父类,那么子类继承父类,父类继承它的父类直到父类为Object类。父类也称作超类、基类、派生类。继承后子类自动拥有父类的属性和方法,但是私有属性和构造方法并不能继承。

多态

多态指的是同一个行为不同的表现形式。要实现多态首先需要继承和封装。
实现多态的充要条件

  • 继承
  • 重写父类方法
  • 父类引用指向子类对象

super

代表对当前对象的直接父类对象的引用,super可以调用直接父类的成员方法(注意权限修饰符的影响,比如不能访问private成员);
    super可以调用直接父类的构造方法,只限构造方法中使用,且必须是第一条语句。

this

用法

  1. 调用当前对象的方法
  2. 在set方法中区分变量
  3. 在构造方法中使用this关键字调用重载的构造方法,避免相同的初始化代码。但只能在构造方法中用,并且必须位于构造方法的第一句。因为构造函数是用于初始化的,所以初始化动作一定要执行。否则编译失败。
  4. 普通方法中,this总是指向调用该方法的对象。构造方法中this总是指向正要初始化的对象。
  5. this不能用于static方法中。因为static方法在方法区里,还没对象。
    注意
  • 是对象内部指代自身的引用,同时也是解决成员变量和局部变量同名问题;
  • this可以调用成员变量,不能调用局部变量;
  • this也可以调用成员方法,但是在普通方法中可以省略this,在构造方法中不允许省略,必须是构造方法的第一条语句;
  • 在静态方法当中不允许出现this关键字。

类与类之间的关系

  • 继承:子类继承父类
  • 实现:类实现接口
  • 依赖:在这个类中存在另一个类对象:方法形参,成员变量,局部变量等
  • 关联:这个类的成员变量是另一个类,关联还可以分为单向关联、双向关联、自关联和多重关联。
  • 聚合:另一个类是这个类的其中一部分,大多也表现为成员变量
  • 组合:另一个类是这个类的其中一部分,并且两者生命周期相同

依赖、关联、聚合、组合四种关系和代码的表现形式类似,代码的耦合度递增。依赖 < 关联 < 聚合 < 组合。

封装(encapsulation)继承(extend)多态(Polymorphism)this,super、类与类之间的关系相关推荐

  1. Java---面向对象编程三大特征【封装、继承、多态】及super关键字、方法重写/覆盖(不定期更新补充)---B站韩顺平老师视频总结

    文章目录 三大特征 面向对象编程-封装 封装介绍 封装的理解和好处 封装的实现步骤(三步) 封装的简单案例 封装与构造器 封装的练习 面向对象编程-继承 为什么需要继承 继承基本介绍和示意图 继承的基 ...

  2. 黑马程序员---面向对象上(封装,继承,多态)

    ------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS ...

  3. Java笔记013-IDEA、包、访问修饰符、封装、继承、多态、Super、方法重写/覆盖(override)、java的动态绑定机制

    目录 面向对象编程(中级部分) IDE(集成开发环境)-IDEA IDEA介绍 IDE(集成开发环境)-Eclipse Eclipse介绍 IDEA的安装 IDEA的基本介绍和使用 创建一个java项 ...

  4. extend implements多个对象_「每天三分钟跟我学Java」之Java面向对象的封装、继承、多态...

    Java是面向对象的语言,深入理解面向对象的概念,对Java的开发至关重要.本节我们着重看下面向对象的三大特性,封装.继承.多态. 一.封装 封装是将类的某些信息隐藏在类内部,不允许外部程序直接访问, ...

  5. 十三、java类的封装、继承、多态

    面向对象的三个基本特性就是:封装.继承和多态. 前面讲解了java 程序都是由类文件组成的,java是面向对象的程序设计语言,在java中面向对象的思想就是由类的设计来体现的,也即类的继承.封装和多态 ...

  6. python(11)—— 面向对象编程基础(对象,类,属性,封装,继承,多态)

    把一组数据结构和处理它们的方法组成对象(object),把相同行为的对象归纳为类(class),通过类的封装(encapsulation)隐藏内部细节,通过继承(inheritance)实现类的特化( ...

  7. 什么是面向对象,它的三个基本特征:封装、继承、多态

    什么是面向对象思想?已经学完了java确不知道如何跟别人解释面向对象是什么意思这很常见.让我们一起来回顾下这个奇思妙想~ 文章目录 一.面向对象与面向过程 1.什么是面向过程? 2.什么是面向对象? ...

  8. Python面对对象编程——结合面试谈谈封装、继承、多态,相关习题详解

    1.面向对象的三大特征 封装:属性和方法放到类内部,通过对象访问属性或者方法,隐藏功能的实现细节.当然还可以设置访问权限; 继承:子类需要复用父类里面的属性或者方法,当然子类还可以提供自己的属性和方法 ...

  9. java写一个外网访问的接口_【JAVA基础】一个案例搞懂类、对象、重载、封装、继承、多态、覆盖、抽象和接口概念及区别(中篇)...

    0 前言 初学JAVA时,总会对一些概念一知半解,相互混淆,不明其设计的用意,如类.对象.重载.封装.继承.多态.覆盖.抽象类.接口概念.为便于理解和巩固,本文将基于一个案例及其变形,展现各个概念的定 ...

  10. Java SE(六)之面向对象(封装,继承,多态,接口)

    文章目录 类和对象 1. 创建一个类 2. 创建一个对象 3. 访问变量和方法 4. some tips 封装 修饰符 1. 访问控制修饰符 2. 非访问修饰符 (1)static (2)final ...

最新文章

  1. Linux C编程--string.h函数解析
  2. 【下】安全HTTPS-全面详解对称加密,非对称加密,数字签名,数字证书和HTTPS
  3. 你必须懂也可以懂的微服务系列三:服务调用
  4. Andorid ListView使用技巧
  5. [转]在Visual C++中以错误的顺序链接 CRT 库和 MFC 库时出现 LNK2005 错误
  6. mysql 压力测试知乎_MySQL性能基准测试对比:MySQL 5.7与MySQL 8.0
  7. setTimeout(fn,0)
  8. 程序员需要掌握哪些软技能?
  9. easypoi的学习笔记
  10. VMware12安装虚拟机教程、Ubuntu16.04安装教程
  11. 零跑C01/S01/C11/T03维修手册电路图培训手册用户手册技术资料
  12. java调用考勤机_zkteco iface702 中控考勤机java开发步骤一---连接考勤机
  13. mongo按季度统计_三季度国内纯碱市场总结及四季度分析
  14. 信息系统项目管理师——范围管理论文
  15. DGUS组态软件中图标旋转显示如何使用
  16. ROHS认证是什么?
  17. Python命令行command not found
  18. debezium报错处理系列七:The database history couldn‘t be recovered. Consider to increase the value for datab
  19. 29.Silverlight碰撞测试、检测自定义控件碰撞,雷达扫描图之扫描雷达点状态
  20. 恭喜猛龙获得NBA总冠军

热门文章

  1. 【总结】1360- 试着降低前端业务复杂度
  2. 备份win7系统时 弹出服务无法启动错误0x80070422
  3. sql时间转换时分秒_SqlServer 日期时间格式转换(SQL server date time format conversion).doc...
  4. 传统TCP(Reno)拥塞响应函数
  5. SANGFOR 旧防火墙配置怎么导入新防火墙
  6. 公务员考试——申论3
  7. 钢条切割(dp解法)
  8. iOS视频直播:高仿喵播APP
  9. 「 Offer收割机之JVM」:生存还是毁灭
  10. 2041:【例5.9】新矩阵