著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

怎么理解Java面向对象,面向对象编程是当今主流的程序设计思想,已经取代了过程化程序开发技术,Java是完全面向对象编程语言,所以必须熟悉面向对象才能够编写Java程序。下面就来介绍一下什么是Java面向对象。

  一、面向对象的概念

  面向对象是一种符合人类思维习惯的编程思想。现实生活中存在各种形态不同的事物,这些事物之间存在着各种各样的联系。在程序中使用对象来映射现实中的事物使用对象的关系来描述事物之间的联系,这种思想就是面向对象。

  提到面向对象,自然会想到面向过程,面向过程就是分析解决问题所需要的步骤,然后用函数把这些步骤一一实现,使用的时候一个一个依次调用就可以了。面向对象则是把解决的问题按照一定规则划分为多个独立的对象,然后通过调用对象的方法来解决问题。当然,一个应用程序会包含多个对象,通过多个对象的相互配合来实现应用程序的功能,这样当应用程序功能发生变动时,只需要修改个别的对象就可以了,从而使代码更容易得到维护。

  二、面向对象的特点

  面向对象的特点主要可以概括为封装性、继承性和多态性,接下来针对这三种特性进行简单介绍。

1、封装性

  封装是面向对象的核心思想,将对象的属性和行为封装起来,不需要让外界知道具体实现细节,这就是封装思想。例如,用户使用电脑,只需要使用手指敲键盘就可以了无须知道电脑内部是如何工作的,即使用户可能碰巧知道电脑的工作原理,但在使用时,并不完全依赖电脑工作原理这些细节。

2、继承性

  继承性主要描述的是类与类之间的关系,通过继承,可以在无须重新编写原有类的情况下,对原有类的功能进行扩展。例如,有一个汽车的类,该类中描述了汽车的普通特性和功能,而轿车的类中不仅应该包含汽车的特性和功能,还应该增加轿车特有的功能,这时,可以让轿车类继承汽车类,在轿车类中单独添加轿车特性的方法就可以了。继承性不仅增强了代码复用性,提高了开发效率,而且为程序的修改补充提供了便利。

3、多态性

多态性指的是在程序中允许出现重名现象,它指在一个类中定义的属性和方法被其他类继承后,它们可以具有不同的数据类型或表现出不同的行为,这使得同一个属性和方法在不同的类中具有不同的语义。

怎么理解java面向对象相关推荐

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

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

  2. 通过宠物商店理解java面向对象

    前言:本篇博客,适合刚刚学完java基础语法的但是,对于面向对象,理解不够深刻的读者,本文通过经典的宠物商店,来让读者深刻的理解,面向对象,IS-A,HAS-A法则.本文不仅仅是简单的用java来模拟 ...

  3. 怎么理解java面向对象_Java 面向对象理解?

    展开全部 java语言中62616964757a686964616fe78988e69d8331333332643330有三个典型的面向对象的特性:封装性.继承性和多态性.1. 封装性 java语言中 ...

  4. java封装原则_跟我学java编程—理解Java面向对象的封装原则

    前面一节内容讲到了抽象与对象,抽象是把同类事物的共同特征抽取出来归纳为类,类的具体实例为对象.例如:把具有汁液多.糖分多.含有挥发性芳香物质.可以生食等特征的事物归纳为水果类,苹果.葡萄.生梨则为水果 ...

  5. java封装继承多态的理解_用最傻瓜式的方法理解Java中的封装、继承和多态

    说到java中面向对象的封装.继承和多态,很多人会说这么简单这么入门的东西一直讲干嘛,虽然是基础,但是我们要明白,所有东西都是要在基础上发展的,没有基础就去学其他的,那么你肯定是很容易失败的,那么应该 ...

  6. java面向对象的全面分析

    由于文章可能过长,看自己需要的部分即可-我尽量把java面向对象讲得全面一点,尽量让有一点点Java学习基础的同学也能看得懂,了解的深度也足够. 若在文章中发现了什么问题或者不太理解的地方-请及时评论 ...

  7. java 面向对象个人理解

    1.java面向对象我的理解是:一个系统可以看做一个对象,例如能耗监测系统,我需要监测能耗时,我只要用这个系统就可以了,他内部怎么实现的我不用去管. 2.举个例子:例如一个人是一个对象,可以用属性描述 ...

  8. 对java面向对象的三大特征的理解_Java面向对象的三大特征是什么?

    面向对象的三大核心特性简介 面向对象开发模式更有利于人们开拓思维,在具体的开发过程中便于程序的划分,方便程序员分工合作,提高开发效率. 该开发模式之所以使程序设计更加完善和强大,主要是因为面向对象具有 ...

  9. Java 面向对象:static的理解

    Java 面向对象:static的理解以及各个代码块的运行顺序 一.static关键字 static修饰方法--称为静态方法,可以直接通过类名调用 static修饰变量--称为静态变量,能被类中所有实 ...

  10. Java 面向对象:instanceof和类型转换的理解

    Java 面向对象:instanceof和类型转换的理解 一.instanceof 1.定义: instanceof A 判断一个引用所指向的对象,是否是A类型,或者A的子类 instanceof 的 ...

最新文章

  1. 忠告:不要在愚蠢时间写代码
  2. 数据中心机房布线系统运维和管理
  3. 【安全】免密登陆SQLSERVER 之 Token 窃取
  4. c语言解决一元二次方程,一元二次方程求解程序完整代码
  5. GIT项目管理工具(part3)--初始化仓库及查看仓库状况
  6. 32位PLSQL Developer无法登录Oracle 11g 64位
  7. java treetable_在Swing中创建TreeTable | 学步园
  8. 如何在使用ASPMVC4的分部视图中获取数据展示
  9. 分析大数据对思维方式有何影响?了解大数据的特点、来源与数据呈现方式
  10. ES6 数组的解构赋值
  11. Java、Node.js、PHP还是.Net? 无论你选谁,我都能教你一招!
  12. Eclipse/MyEclipse一次修改或者编辑多行的快捷键
  13. 【Arcgis】绘制武汉市行政区划地图
  14. 【Markdown】希腊字母表
  15. matlab产生大气湍流,一种大气湍流模拟装置的制造方法
  16. 答题微信小程序实现(5):大功告成,整个模板,题库导入/切换/积分/选择对错判断/闯关成功
  17. 【社会相关】:大神写的考研政治复习攻略
  18. 目标检测模型组件构成
  19. python轻松生成pdf文档
  20. 至少需要多少颗卫星才能准确定位?

热门文章

  1. erlang的又一力作——英雄联盟聊天服务器
  2. Resource Hacker(可以修改.exe文件)
  3. 二进制包20分钟快速安装部署 Kubernetes v1.14.0 集群
  4. mysql报错无效默认值1067_Mysql 报错:#1067
  5. 0基础学习3dmax游戏建模有这4个技巧
  6. 【投稿提醒】2023年数字信号处理前沿国际会议(CFDSP 2023)
  7. 2022版史上最牛Java学习路线图(视频教程+配套资料)
  8. 如何获得微信小游戏源码
  9. 小米浏览器导出html,小米浏览器离线视频如何导出 小米浏览器离线视频导出教程...
  10. LR11中将IE9降级为IE8