面向对象是Java的基本特征,在程序开发的过程中基于面向过程的一种思维,将功能封装进对象,强调具备这些功能的对象和调用结果,不关注具体的实现过程。

面向对象的特点:是一种更符合人们思考习惯的思想,可以将复杂的事情简单化,将程序的执行者(函数)转换为指挥者(通过对象调用)。

面向对象特性:封装、继承、多态

封装:将功能包装进类中,隐藏其具体细节,对外提供公共访问方法,封装的结果:是一个同时具有属性和行为的数据类型。

继承:当一个类的属性和行为与现有类相似,并且属于现有类的一种时,我们可以称这个类为现有类的子类;或者当多个类具有共性的属性和方法时,我们可以抽取共性的内容定义为父类,需要创建相似的兄弟类时,直接继承父类即可,继承父类的子类拥有父类的非私有方法并且可以直接调用;如果父类的方法不够强大时,子类可以根据自身的逻辑重写父类方法。继承是多态的前提。

多态:多态指一个事物具有多种形态,如猫有猫的形态,也有动物的形态,多态具体体现:父类引用指向了自己的子类对象,父类的引用也可以接收子类对象。

多态的优点:提高程序的可维护性和扩展性;

多态的弊端:父类的引用只能指向自己有的成员,无法访问子类特有的方法。

面向对象与面向过程的区别:

1.面向过程强调的是功能行为,分析解决问题所需要的步骤,以函数为基础,完成各种操作和步骤的实现;

2.面向对象,是基于面向过程的,将功能包装进对象,强调的是具备功能的对象,通过对象调用方法解决问题;

如有内容不全或有错误,请君文明指正!!!

java面向对象的理解(个人)的更多相关文章

  1. JAVA面向对象思想理解分析

    1.面向对象是面向过程而言.两者都是一种思想.面向过程:强调的是功能行为.(强调过程.动作)面向对象:将功能封装进对象,强调了具备了功能的对象.(强调对象.事物)面向对象是基于面向过程的.将复杂的事情 ...

  2. Java面向对象的理解

    Java是一门面向对象的编程语言(Object Oriented Programming,OOP), 这个句话是每个学习Java的程序员应该先深刻理解的一句话. 我们之所以将自自然界分解,组织成各种概 ...

  3. 谈谈你对Java面向对象的理解

    面向对象,其实是一种思考的思想,是一种思想,而这种思想它早期的思想是面向过程,通过不断的演化变成了现在的面向对象,思想有一个演变形式,早期是面向过程,现在是面向对象. 故事:把大象放进冰箱里,分几步? ...

  4. 理解JAVA - 面向对象(object) - 属性,方法

    理解JAVA - 面向对象(object) - 属性,方法 多态的体现:    向上造型,父类接收子类对象:向上造型:    从父类角度看不到子类独有的方法:面向对象,人类认知世界的方式:生活中每天都 ...

  5. 深入理解Java面向对象三大特性 封装 继承 多态

    1.封装 封装的定义: 首先是抽象,把事物抽象成一个类,其次才是封装,将事物拥有的属性和动作隐藏起来,只保留特定的方法与外界联系 为什么需要封装: 封装符合面向对象设计原则的第一条:单一性原则,一个类 ...

  6. (一)如何理解java面向对象编程

    哲学中,事物总是螺旋式上升,波浪式前进.因而编程也逐渐向人类更容易理解的方向前进,多年来人们苦苦追求的编程境界 : 高扩展性(extensibility),高复用性(reuseable).java语言 ...

  7. Java面向对象㈠ -- 封装

    Java的面向对象有三大特征:封装.继承.多态.这里主要对封装进行讲解. 封装可以理解为隐藏一个类的成员变量和成员函数,只对外提供需要提供的成员函数. Java的封装主要通过访问权限控制符:priva ...

  8. 谈谈Java面向对象的三大特性

    Java面向对象的三大特性就是指封装.继承.多态了. 一.封装: 概念:封装是指隐藏对象的属性和实现细节,仅对外提供公共访问方式. (举例:笔记本电脑就是一个封装体,Java语言中最小的封装体就是函数 ...

  9. 实验二 Java面向对象程序设计

    实验二 Java面向对象程序设计 实验内容 1. 初步掌握单元测试和TDD 2. 理解并掌握面向对象三要素:封装.继承.多态 3. 初步掌握UML建模 4. 熟悉S.O.L.I.D原则 5. 了解设计 ...

随机推荐

  1. SystemVerilog 语言部分(二)

    接口interface: 既可以设计,也可以用来验证. 验证环境:interface使得连接变得简单不容易出错. interface可以定义端口,单双向信号,内控部使用initial always t ...

  2. 贪心算法leetcode-763

    int[] lastShow = new int[26]; var list = new LinkedList<Integer>(); for (int i = 0; i < s.l ...

  3. Epicor Advanced Unit of Measure

    作为先进的ERP系统,Epicor 不断发展以解决业务问题.2020 年 10 月,Epicor ERP 10.2.700 的一项强大的新功能高级计量单位 (UoM) 已投入生产. 发行说明看似简单, ...

  4. springboot对mybatis的整合

    1. 导入依赖 首先新建一个springboot项目,勾选组件时勾选Spring Web.JDBC API.MySQL Driver pom.xml配置文件导入依赖 <!--mybatis-sp ...

  5. 解决了一个java服务线程退出的问题

    问题背景 ​ 早上才上班,测试就提了一个问题:"昨天所有批量任务都没有跑".我看了一下任务监控页面,任务是有生成的,但却一直在等待调度状态.初步怀疑是我们的调度服务问题,于是上去查 ...

  6. checkbox,select,radio 选取值,设定值,回显值

    获取一组radio被选中项的值var item = $('input[@name=items][@checked]').val();获取select被选中项的文本var item = $(" ...

  7. 2-2.5-3D的室内场景理解

    2-2.5-3D的室内场景理解 主要内容 摘要随着低成本.紧凑型2-2.5-3D视觉传感设备的出现,计算机视觉界对室内环境的视景理解越来越感兴趣.本文为本课题的研究提供了一个全面的背景,从历史的角度开 ...

  8. YOLOV4各个创新功能模块技术分析(二)

    YOLOV4各个创新功能模块技术分析(二) 四.数据增强相关-GridMask Data Augmentation 论文名称:GridMask Data Augmentation 论文地址:https ...

  9. CVPR2020:三维实例分割与目标检测

    CVPR2020:三维实例分割与目标检测 Joint 3D Instance Segmentation and Object Detection for Autonomous Driving 论文地址 ...

  10. CVPR2020:点云三维目标跟踪的点对盒网络(P2B)

    CVPR2020:点云三维目标跟踪的点对盒网络(P2B) P2B: Point-to-Box Network for 3D Object Tracking in Point Clouds 代码:htt ...