揭秘Java中的面向对象模型

createh51周前 (03-05)技术教程7

前言:

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

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

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

  • 万物皆为对象。也就是说世界上所有的事物都能通过抽象变成一个可以实现的对象。比如动物、建筑物、服务。

  • 程序是对象的集合,他们通过发送消息来告知彼此所有做的。程序是把要解决的问题抽象为若干的对象,这些对象之间通过消息来通知彼此做什么和传递数据。比如:动物吃食物,这个程序包含了动物、食物两种对象,通过吃这一动作来告知动物吃食物。

  • 每个对象都有自己由其他对象构成的存储。意思是对象之间可以是包含的关系,一个对象中可以含有另外一个对象,这样就构成了一个新的对象。比如:发动机,汽车,汽车这一对象中包含发动机。

  • 每个对象都拥有其类型。每个对象都是某个类的一个实例,这个类就是抽象出来的一类事物,这个类与其他类之间的重要区别就是行为,它能接受什么样的消息。比如:动物和食物,动物有吃的行为,移动的行为,而食物是没有的。

  • 某一特定类型的所有对象都可以接受同样的消息。这是判断某一对象是不是某个类型的标准。比如你定义了动物的一些行为,比如移动,那么所有的动物都要相应移动这一消息,无论你是跑着移动、飞着移动,还是游着移动。

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

类:

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

对象:

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

继承:

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

抽象:

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

多态:

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

总结:

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

本文属原创,转载请注明出处,并标记下面内容,谢谢!

大家如果对编程感兴趣,想了解更多的编程知识,解决编程问题,我们这里有java高手,C++/C高手,windows/Linux高手,android/ios高手,请大家关注我的微信公众号:程序员互动联盟或者coder_online

相关文章

Java 学习之面向对象思想、类、对象

一、首先我们先说说面向过程面向过程”(Procedure Oriented)是一种以过程为中心的编程思想。“面向过程”也可称之为“面向记录”编程思想,他们不支持丰富的“面向对象”特性(比如继承、多态)...

100个Java工具类之78:对象处理工具类Objects

在Java中,对象是类的实例。对象则是类所定义的模板而创建出来的实体,它们封装了属性和方法。Objects类可以用来简化对象的操作,完成常见的对象非空校验、对象比较、生成哈希码等任务从而提高代码的可读...

JAVA创建对象有哪几种方式?

作为Java开发者,我们每天创建很多对象,但我们通常使用依赖管理系统,比如Spring去创建对象。然而这里有很多创建对象的方法,我们会在这篇文章中学到。 Java中有5种创建对象的方式,下面给出它们的...

Java对象创建过程

·new&类加载检测当遇到new指令时,JVM首先会进行类加载检测:①检测new指令的参数是否能在常量池中定位类的符号引用;②检测这个符号引用是否进行过加载解析和初始化,没有则先对该类进行类加载。·对...