面向对象是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. System Verilog设计例化和连接

  2. python 解析html网页

    pyquery库是jQuery的Python实现,可以用于解析HTML网页内容,使用方法: 代码如下: from pyquery import PyQuery as pq 1.可加载一段HTML字符串 ...

  3. 什么是 Web 服务器(server)

    首先我们来了解什么是服务器(server) Web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,可以向浏览器等Web客户端提供文档,[1]也可以放置网站文件,让全世界浏览:可以放置数 ...

  4. NSight Compute 用户手册(下)

    主菜单 文件 新建项目使用"新建项目"对话框创建新的分析项目 4. Main Menu and Toolbar Information on the main menu and t ...

  5. 35 张图带你 MySQL 调优

    这是 MySQL 基础系列的第四篇文章,之前的三篇文章见如下链接 138 张图带你 MySQL 入门 47 张图带你 MySQL 进阶!!! 炸裂!MySQL 82 张图带你飞 一般传统互联网公司很少 ...

  6. Httprunner的使用

    一.httprunner的简介 HttpRunner 是一款面向 HTTP(S) 协议的通用测试框架,只需编写维护一份 YAML/JSON 脚本,即可实现自动化测试.性能测试.线上监控.持续集成等多种 ...

  7. Transformers for Graph Representation

    Do Transformers Really Perform Badfor Graph Representation? microsoft/Graphormer: This is the offici ...

  8. MySQL数据的高效检索

    数据库操作中,常常需要完成既定数据的检索.少量数据存放在表中,只需使用基本的SQL语句即可检索得到.但当数据量较大时,受MySQL数据库底层实现原理的限制,缺省的SQL语句,检索效率较低. 例如:当执 ...

  9. leetcode1141 N*3矩阵。阿里笔试no.1

    你有一个 n x 3 的网格图 grid ,你需要用 红,黄,绿 三种颜色之一给每一个格子上色,且确保相邻格子颜色不同(也就是有相同水平边或者垂直边的格子颜色不同). 给你网格图的行数 n . 请你返 ...

  10. 测试开发之网络篇-IP地址

    IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异.这里介绍一下目前广泛使用的IPv4版本. IP地址使用一种统一的格式,为互联 ...