分享

【Java基础】Java面向对象基础知识

 锅巴灯神 2016-10-04

【Java基础】Java面向对象基础知识

前言:

前面一系列文章讲了Java的一些语法基础知识Java中的数据类型Java中的运算符,基本上都是学习Java语言的基础知识,从这一讲开始将会逐步介绍Java面向对象编程的一些高级知识。所有提到Java语言特性的文章肯定都会提到Java是面向对象的,在我的一篇文章中也说了Java语言有哪些特性,这一篇文章就给大家讲讲Java面向对象这一知识,有一个面向对象的概念,为以后学习更深层次的东西打下基础。

面向对象程序设计五个特征

在Java编程思想中提到了面向对象程序设计的五个特征:

  • 万物皆为对象。也就是说世界上所有的事物都能通过抽象变成一个可以实现的对象。比如动物、建筑物、服务。
  • 程序是对象的集合,他们通过发送消息来告知彼此所有做的。程序是把要解决的问题抽象为若干的对象,这些对象之间通过消息来通知彼此做什么和传递数据。比如:动物吃食物,这个程序包含了动物、食物两种对象,通过吃这一动作来告知动物吃食物。
  • 每个对象都有自己由其他对象构成的存储。意思是对象之间可以是包含的关系,一个对象中可以含有另外一个对象,这样就构成了一个新的对象。比如:发动机,汽车,汽车这一对象中包含发动机。
  • 每个对象都拥有其类型。每个对象都是某个类的一个实例,这个类就是抽象出来的一类事物,这个类与其他类之间的重要区别就是行为,它能接受什么样的消息。比如:动物和食物,动物有吃的行为,移动的行为,而食物是没有的。
  • 某一特定类型的所有对象都可以接受同样的消息。这是判断某一对象是不是某个类型的标准。比如你定义了动物的一些行为,比如移动,那么所有的动物都要相应移动这一消息,无论你是跑着移动、飞着移动,还是游着移动。

上面是面向对象程序设计的基本特征,下面介绍面向对象中用到的一些关键词。

类:

类描述了具有相同特性(数据元素)和行为(功能)的对象集合,也是一个数据类型。比如说动物,它有重量、大小的特征(数据元素),也有移动、吃的行为(功能)。

对象:

对象是具有状态、行为和标识的是上面类的一个实例。每一个对象都有内部数据(它描述该对象的状态)和方法(它产生行为),并且每一个对象都可以与其他对象区分开来,就是一个对象在内存中都有一个唯一的地址。在Java中对象都必须通过new来产生。

继承:

把某些具有相同属性和行为的事物抽象起来集中到一个类中,一个新类可以从这个类中派生,新类具有父类的所有的行为和特征,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类),在Java中是通过 ChildCalss extends FartherClass 这种方式实现的。

抽象:

抽象在编程中就是把你要解决的问题分解为一个一个的小问题,直到你不能再分解为止,然后把你分解的这些小问题用一个一个的对象描述对应起来,将问题集合分解为对象集合。实际中就是不断的问需要哪些服务,需要哪些对象才能履行它们的服务。良好的面向对象的的设计中,每个对象都可以很好的完成一项任务,但是它并不试图做更多的事。

多态:

多态指的是在继承关系中子类继承父类的行为,这种行为在子类具体实现时可以是不一样的。比如动物这一父类中有move()方法,在鸟类子类中和鱼类子类中move的实现是不一样的。在Java中多态是通过重写(override:把父类的方法重新实现)和重载(overload:通过方法参数的不同在子类中来重新创建名字相同的方法)来实现的。

总结:

面向对象这一知识点太大,包含了面向对象的分析、面向对象的设计和面向对象的编程,这三部分每一部分都是一个很大的课题,包含的知识不仅仅是编程领域,还有哲学等其他知识,我肯定达不到大师级的那种分析。上面对于面向对象编程一些基本概念的介绍是看书加上自己的理解,个人水平有限,对于面向对象的理解还不够深入,有写的不合适的地方还请留言,批评指正,最好是添加我的公众号:coder_online,我能及时的看到你的留言并给你答复。

 

想第一时间获得更多原创文章,请关注个人微信公众平台:程序员互动联盟(coder_online),扫一扫下方二维码或者搜索微信号coder_online即可关注,里面有大量Android,Chromium,Linux,编程技巧等相关文章等着您,我们还可以在线交流。

 

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多