java的核心是面向对象,与之相对的是面向过程的编程,在对整个java编程没有足够的理解和运用的情况下恐怕没办法很好的理解这两个概念。
    在我的初步理解中,写一个程序就例如做一件事情,面向过程的思想或许就是指这一步做什么,下一步又做什么,直到完成这件事,突出的是做的步骤;而面向对象的思想则是这个人做什么,那个人做什么,直到合起来完成这件事;虽然结果都是完成这件事,但是一个着重点是做的步骤,而另一个则是谁做什么。
    所有的面向对象编程语言,都包含着三个原则或者说是特征、机制,分别是封装、继承和多态。
    java中一切皆对象,类是对象,接口是对象,属性是对象,方法也是对象。而对象是什么,对象就是object,就是我们通俗所说的东西。什么是东西?可以说宇宙是个东西,人是个东西,一件事也是个东西,一切皆对象,也就是一切皆东西。
    封装的简单理解就是把一些零散的却又有一定关系的东西整合起来作为一个整体来使用,或者这些东西可以称之为对象。就好比把一辆车当作一个程序,它上边有非常多的零件,比如塑胶件、五金件等,但是我们通常只会说方向盘、轮胎,而方向盘并不是最小的个体,他们是由更小的零件组合的,把这些零件组合成方向盘来实现掌控方向的过程就是封装。
    继承的概念就类似于我们生活中常说的继承,也就是子类会获得父类的部分东西,但是却又不是全部。例如我们可以继承父亲的部分基因从而长的像父亲,也可以继承父亲的关系网甚者财产,但是他的兄弟却不能是我们的兄弟,还是会有所不同。有一点要注意的是,这里说的是父类而不是说的父亲,这是有很大区别,所谓的父类,父亲是,爷爷也是,爷爷的爷爷一样是。
    据我理解, 多态的概念通常涉及到接口和实现的问题,也就是说一个接口可以有多种不同的实现形态。一样可以拿人做个例子,人有身份,而身份是个抽象的东西,是个具有相对性的概念,对于他的朋友来说,他的身份就是朋友,对于他的晚辈来说,他就是个长辈,而对于他的同事来说,他就是个同事。这个人是个接口,身份就是抽象方法,其他不同的人就是不同的实现这个借口的方法,具体的身份就是具体的实现状态。同一个人,不同的身份,这就是多态。
    既然多态通常跟接口有关,那么接口是什么?接口可以看作是特殊的抽象类,也就是一种所有方法都是抽象方法的抽象类。需要注意的是,抽象类可以有几种形式,可以没有抽象方法,可以有一部分抽象方法,也可以全部是抽象方法。可是接口到底是什么?目前只能再打个比方,我们通常所说的USB接口,就是一个接口,因为它也有多态,当我们用他来连接鼠标或键盘的时候它的功能是一种状态,当我们用它连接数据线传输数据时又是一种状态。
    封装、继承、多态原本就是一些概念,概念是由人定义的,所以不同的人具体理解可能不一样,但是大体上是那么回事就可以了。

(二)java特征的更多相关文章

  1. 实验二 Java面向对象程序设计

    实验二 Java面向对象程序设计 实验内容 1. 初步掌握单元测试和TDD 2. 理解并掌握面向对象三要素:封装.继承.多态 3. 初步掌握UML建模 4. 熟悉S.O.L.I.D原则 5. 了解设计 ...

  2. 20145213《Java程序设计》实验二Java面向对象程序设计实验报告

    20145213<Java程序设计>实验二Java面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装,继承,多态 初步掌握UML建模 熟悉S.O. ...

  3. 20145206《Java程序设计》实验二Java面向对象程序设计实验报告

    20145206<Java程序设计>实验二Java面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O. ...

  4. 20145225唐振远 实验二 "Java面向对象程序设计"

    20145225<Java程序设计> 实验二 Java面向对象程序设计 实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S ...

  5. 20145208 实验二 Java面向对象程序设计

    20145208 实验二 Java面向对象程序设计 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 实验步 ...

  6. 20165205 2017-2018-2 《Java程序设计》实验二 Java面向对象程序设计

    20165205 2016-2017-2 <Java程序设计>实验二 Java面向对象程序设计 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UM ...

  7. 20155314 2016-2017-2 《Java程序设计》实验二 Java面向对象程序设计

    20155314 2016-2017-2 <Java程序设计>实验二 Java面向对象程序设计 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UM ...

  8. 实验二 Java面向对象程序化设计

    实验二 Java面向对象程序设计 一.  实验要求 1.完成实验.撰写实验报告,以博客方式发表在博客园 2.实验报告重点是运行结果.遇到的问题(工具查找,安装,使用,程序的编辑,调试,运行等).解决办 ...

  9. 20145326《Java程序设计》实验二Java面向对象程序设计实验报告

    20145326<Java程序设计>实验二Java面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O. ...

  10. 20165233 实验二 Java面向对象程序设计

    20165233 实验二 Java面向对象程序设计 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 实验步 ...

随机推荐

  1. sublime text3 本地化

    博客園中搜到n篇 同題日誌 沒一篇靠譜 超級反感這種行為,浪費別人的時間無異於謀財害命 自動: Control+` (注意不是cmd+p) import urllib.request,os,hashl ...

  2. codeforces 192 D

    link: http://codeforces.com/contest/330/problem/D The discription looks so long, but the problem is ...

  3. jquery的ajax异步请求接收返回json数据

    http://www.jb51.net/article/51122.htm jquery的ajax异步请求接收返回json数据方法设置简单,一个是服务器处理程序是返回json数据,另一种就是ajax发 ...

  4. POJ 2251 Dungeon Master --- 三维BFS(用BFS求最短路)

    POJ 2251 题目大意: 给出一三维空间的地牢,要求求出由字符'S'到字符'E'的最短路径,移动方向可以是上,下,左,右,前,后,六个方向,每移动一次就耗费一分钟,要求输出最快的走出时间.不同L层 ...

  5. PS要点

    1.通道 意味着我们同过不同的角度来看图像,可以得到不同的图像信息,PS是以灰度图像来表现这种信息的强弱. 我们能看到什么取决于我们的视角.任何灰度图像都可以按照不同的规则来构成彩色图像. 通道除了能 ...

  6. 你可能不知道的 Linux 命令行网络监控工具

    http://developer.51cto.com/art/201505/476651_2.htm 对任何规模的业务来说,网络监控工具都 是一个重要的功能.网络监控的目标可能千差万别.比如,监控活动 ...

  7. easyUI之datebox

    datebox具有输入的文本框及点击出现日历面板选择器的功能. 此组件的加载方式有class及jq方式,加载后,进行简单的属性设置即可. 对于此属性有一个很好的用法shareCalendar,就是多输 ...

  8. share point 读取 List数据

    SPSecurity.RunWithElevatedPrivileges(delegate() { using (SPSite oSite = new SPSite(siteUrl)) { forea ...

  9. shell之脚本练习

    脚本需求集合贴-自主开发的 对频繁执行的任务有编写脚本的价值 对单次执行的任务就用笨的,简单的办法 1.对asterisk写一个脚本 查日志 输入日期--能够输出对应日期的日志 输入多个条件--能够输 ...

  10. linux服务之vnc和x2go

    三种方式连接linux桌面 1.传统的vnc linux桌面上安装vncserver windows桌面上安装vncviewer 2.x2go 在linux桌面上安装x2goserver与x2gose ...