一。 什么是面向对象

都说Java是一门面向对象的语言,但什么对象?什么又是面向对象?以下都是我学到的知识和一点自己的理解。

对象是指包含属性和行为的主体。

比如,人有性别、血型、单眼皮或双眼皮等的特点,也有跑、跳、进食、呼喊、笑、怒等行为。这样,人就可以说是对象。

同时,对象也可以是不具有生命的事物,比如,伞有尺寸,颜色,用途(遮阳伞、雨伞)等属性,也包含撑开方式和收起方式的行为。这样,伞也可以是对象。

......

像这样的例子数不胜数,只要愿意,什么都可以是对象——这一点和java声称的一样,"一切都是对象。"

用我自己的理解,面向对象就是从对象的角度出发、进行描写事物或者记录状态。

  比如,假设记录一个野人的一天,那么Java描述就是

...
//野人的一天
Person savage = new Person();
savage.gender = "male"; //纯爷们野人
savage.hunting(“The ” +this.gender+" savage is hunting a deer..." );//野人正在狩猎打野
savage.laugh("aooo~aooo~~");//呲牙咧嘴的笑
...

  这样,就记录下了野人这愉快的一天(^O^)v.

二。面向对象的优势

但这样有什么用呢,先来看一个例子。

在不是面向对象的语言中,比如C,它是一门面向过程的语言。在描述一个事件时,面向过程的语言是这样:

吃("野人","猎物的肉");//在面向过程的语言世界里,函数"吃"是主体、"野人"是函数的参数。

  在描述同一个事件时,Java是这样:

野人.吃(“猎物的肉”);//在面向对象的语言中,对象“野人”是主体,吃是对象具有的行为。

  在上面的例子中,野人除了吃,还有打猎、采集等,这些都是从属于野人这个对象里的行为,这样一个对象就能同时拥有多个行为,这描述与现实几乎一致。

  这样看起来,面向对象与现实时间的描述非常贴近,更利于理解和使用。

三。 总结

  Java是面向对象的语言,Java大法好!!!!!!

【Java】0X003 面向对象的更多相关文章

  1. java的面向对象

    Java是1995年诞生.前身oak,后来改名为java. 面向对象的编程思想:对象是万事万物. 对象是由两部分组成的:属性和方法 1:属性是对象的静态特性(名词) 2:方法是对象的动态特性(动词) ...

  2. (Java)《head first java》值得Java或面向对象基础的新手看。

    看完这本书后本人收获良多. 内容对Java以及面向对象的入门者非常友好. 抽象的内容惯用图解的方法来剖析,通俗易懂 之前看C#入门经典的面向对象时,依然浓浓的一头雾水. (1)很不解为何实例化要写成A ...

  3. java学习面向对象之异常之一

    一.异常的概述: 什么是异常?在我们编写java程序的时候,会出现一些问题,比如内存溢出啊或者数组索引超出最大索引啊,这些编程当中出现的这些个问题就是异常.但是异常也分为可以处理的和不可以处理的.比如 ...

  4. Java之面向对象相关问题集

    面向对象的特征有哪些方面  1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解所有问题,而仅仅是选择当中的一部分,临时不用部分细节. 抽 ...

  5. Java与面向对象

    一.面向过程的思想和面向对象的思想 面向对象和面向过程的思想有着本质上的区别, 作为面向对象的思维来说,当你拿到一个问题时,你分析这个问题不再是第一步先做什么,第二步再做什么,这是面向过程的思维,你应 ...

  6. java基础面向对象之类与对象

    java基础面向对象之类与对象 2017-01-14 1.面向对象的基本概念 以一种组建化的形式进行代码设计 1)在面向对象程序设计中包含有如下几种特性 •封装性:保护内部结构的安全性 •继承性:在已 ...

  7. Java与面向对象之随感(2)

    我们知道Java语言的一大特性就是相比于c语言和c++语言,其更加安全.那么Java安全性的一个重要保证就是它取消了指针,并且坚决反对数组的出界(c++对当数组超出上限但是还进行读写操作时允许的!), ...

  8. 第二十七节:Java基础面向对象-静态,单例模式,继承详情知识点

    前言 Java基础面向对象-静态,单例模式,继承详情知识点.静态-static关键字,static变量,静态代码块,代码块(不加静态),对象创建过程,单例模式,继承. 静态-static关键字 // ...

  9. Java的面向对象(初涉)

    Java的面向对象(初涉) 面向对象的分析根据抽象关键的问题域来分解系统.面向对象的设计是一种提供符号设计系统的面向对象的实现过程,它用非常接近实际领域术语的方法把系统构造成"现实世界&qu ...

随机推荐

  1. html、css简述面试题

    hTML, HTTP,web综合问题 1.前端需要注意哪些SEO 合理的title.description.keywords:搜索对着三项的权重逐个减小,title值强调重点即可,重要关键词出现不要超 ...

  2. 2018世界气象日,API为气象助力

    "世界气象日"(World Meteorological Day)又称"国际气象日",是[世界气象组织]成立的纪念日. 国际气象组织的前身原为非官方性国际气象合 ...

  3. 软件质量与测试——WordCount编码实现及测试

    1.GitHub地址       https://github.com/noblegongzi/WordCount 2.PSP表格 PSP2.1 PSP 阶段 预估耗时 (分钟) 实际耗时 (分钟) ...

  4. python爬微信公众号前10篇历史文章(4)-正则表达式RegularExpressionPattern

    正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串.将匹配的子串替换或者从某个串中取出符合某个条件的子串等. Pytho ...

  5. dot watch+vs code提成asp.net core开发效率

    在园子中,已经又前辈介绍过dotnet watch的用法,但是是基于asp.net core 1.0的较老版本来讲解的,在asp.net core 2.0的今天,部分用法已经不太一样,所以就再写一篇文 ...

  6. three.js 实现全景以及优化(2)

    继昨天全景实现后,再做了一个全景图切换实验; code:https://github.com/Thinkia/threejs_/blob/master/test/test1-panorama/inde ...

  7. 用disabled属性修饰a标签,a标签仍然能点击

    1.不知道各位同学有没有遇到跟我相同的问题,就是用jQuery操作a标签disabled的,来控制重复提交表单 做过开发的都知道,表单验证重复提交,包含前端和后端,两方面的控制.前端控制使我们常用的手 ...

  8. 最小生成数(并查集)Kruskal算法

    并查集:使用并查集可以把每个连通分量看作一个集合,该集合包含连通分量的所有点.这两两连通而具体的连通方式无关紧要,就好比集合中的元素没有先后顺序之分,只有属于和不属于的区别.#define N 100 ...

  9. opencv配置

    1.安装opecv库 从官网http://opencv.org/下载OpenCV windows版 运行之后 2.配置环境变量 64位系统,可以将32位和64位两个都添加上,免得以后编译不同程序再来配 ...

  10. C语言操作符/表达式及其作用总结

    一.算术操作符:+ - * / % 1. 除了 %操作符之外,其他的 几个操作符可以作 用于整数和浮点数. 2. 对于"/"操作符如果两个操作数都为整数,执行整数除法.而只要有浮点 ...