想要学习Java的同窗应该都会或多或少地据说过面向对象这个说法,那么究竟什么是面向对象?面向对象有什么好处呢?理解面向对象对咱们的学习,编码有什么好处呢?下面咱们就来简单了解下:html
首相,你们得记住一点:面向对象是一种思想,一种思考方式。就像咱们平时看人待物通常,为何面向对象这么受推崇,就是由于它和咱们人类对事物的认知方式比较接近。举个例子,好比咱们要去电脑城攒机,相信不少朋友都有过这种经历。多线程
那么咱们去到店里面应该怎么作呢?告诉店员咱们要配一台电脑,而后告诉他要求:颜色,性能要求,外形等等,而后店员就会根据咱们的须要给咱们写一个单子,上面依次列着CPU、主板、内存、显卡……,咱们逐个去对比,砍价,最后敲定,装机。在这个过程当中,咱们首先是要一个对象——电脑。而后在这个对象的基础上对他的属性进行要求限制:颜色要黑的、外形要大方的、显示器要21寸的等。总之,咱们就是在肯定一个对象的基础上,而后对它身上的各项属性进行细化的要求。ide
再好比咱们周末在家,准备好好休息下,洗洗衣服,给本身作顿好吃的,顺便在网上买几件东西。因而,早上起床,咱们洗漱完毕,要作不少事情。可是怎么作呢?洗漱是一件事,洗衣服是一件事,作饭是一件事,上网购物又是一件事。这些事情咱们均可以将它们看做一个个对象,而后以各类本身认为合适的方式去组合它们,安排它们的前后执行顺序。固然,有人说一件一件作起来比较麻烦,让洗衣机洗衣服,本身能够开始作饭。这个固然能够了,这个多个对象同时启动,在Java中有多线程的概念,就是来解决这个问题的,在后面咱们会讲到。性能
另外,在说到一个概念:全部的对象,任何的对象均可以归类的。好比猪,牛,马,羊之类的咱们就能够归类为动物;牙刷,牙膏,毛巾之类的咱们能够归为生活用品一类。可是,在这里咱们要注意的是,一件东西咱们能够以它不一样的属性为主,让它归到不一样的类别里面去:桌子,咱们能够归到生活用品,能够归到木制品,能够归到黄颜色的物体一类(假设这个桌子是黄颜色的)。总之,就是说一个对象它不必定仅仅属于某一个类别,它有可能既是A,又是B,搞很差仍是C。学习
上面咱们说到,能够按照属性(上面讲的都是静态的)讲对象归类,那么一个对象除了前面提到的属性以外还有一个很重要并且很特别的属性——行为。行为也能够归属到对象的属性里面去,它也是属于这个对象的。只是它表现的是这个对象能够干什么。(下面提到的属性指的就是上面提到的静态属性,不包括行为)编码
对一个对象来讲,它所拥有的属性和对象是有关系的。通常状况下,一个行为就是在告诉咱们如何去使用或者改变这个对象的某个属性。好比说:人。人是一个对象,他有眼睛,鼻子,耳朵;他也有不少行为,好比说吃,喝,听等等。都是说的这个行为如何去作一些和它的属性相关的东西。spa
上面说的都是单个的对象,那么多个对象之间会有什么样的联系呢?线程
打个比方,小明是个对象,小明的爸爸——大明也是一个对象。那么这两个对象之间就有了一些继承的关系:小明继承了爸爸的大眼睛属性,却没有像爸爸同样,长成一个大嘴巴。在这里,大眼睛就是两个对象间继承过来的,而大嘴巴倒是小明爸独有的。因而在两个对象之间就有了一个继承的关系,继承的对象之间,有相同的属性和方法,可是也能够有本身独特的属性和方法存在。htm
本章内容总结一下就是下面这个图了,写的时候参考下你们的说法,不过仍是写上了本身举的例子,有问题欢迎拍砖:对象
IT之美:http://www.hanbinit.com.cn/397.html
IT菜菜:http://www.itcaicai.com/thread-1536-1-1.html