面向对象是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. [Django高级之批量插入数据、分页器组件]

    [Django高级之批量插入数据.分页器组件] 批量插入数据 模板层models.py from django.db import models class Books(models.Model): ...

  2. 新晋总监生存指南三——OKR

    一.什么是OKR 书接上文:新晋总监生存指南二--建立指标 OKR在我们团队正循环大图中占有很重的分量,好的OKR实践同时也是上文中数据指标实践的案例.反向论述可以认为,数据指标建设混乱的团队很难运用 ...

  3. HTTP状态 500 - 内部服务器错误之Could not open ServletContext resource [/db.properties]或者 [/mybatis.xml]

    报错原因是因为找不到db.properties或者mybatis.xml,但是我明明写了有.找了一下,才发现spring-dao.xml里面这两个配置文件地址有问题 Maven项目,applicati ...

  4. 你是不是对MD5算法有误解?

    大家常听到"MD5加密"."对称加密"."非对称加密",那么MD5属于哪种加密算法? 面试问这样的问题,准是在给你挖坑. "MD5 ...

  5. CUDA C++编程手册(总论)

    CUDA C++编程手册(总论) CUDA C++ Programming Guide The programming guide to the CUDA model and interface. C ...

  6. android小技巧之点击两次退出活动

    通常在主活动中可以设置连击退出程序,下面通过代码来实现这一功能: @Override//按两次back键退出public boolean onKeyDown(int keyCode, KeyEvent ...

  7. Redission加锁解锁流程

    redission分布式锁的使用 RLock lock = redissonClient.getLock("myLock"); lock.lock(); try { System. ...

  8. noip2007 总结

    统计数字 原题 某次科研调查时得到了n个自然数,每个数均不超过1500000000(1.5*10^9).已知不相同的数不超过10000个,现在需要统计这些自然数各自出现的次数,并按照自然数从小到大的顺 ...

  9. WPF使用 INotifyPropertyChanged 实现数据驱动

    如下图,有这么一个常见需求,在修改表单明细的苹果价格时,总价会改变,同时单据总和也随之改变. 按照Winfrom事件驱动的思想来做的话,我们就需要在将UI的修改函数绑定到CellEdit事件中来实现. ...

  10. Golang控制子gorutine退出,并阻塞等待所有子gorutine全部退出

    Golang控制子gorutine退出,并阻塞等待所有子gorutine全部退出 需求 程序有时需要自动重启或者重新初始化一些功能,就需要退出之前的所有子gorutine,并且要等待所有子goruti ...