万物皆对象java_java中的“万物皆对象”

花十分钟认真的看完一篇文章或许会有意想不到的收获

学习编程的小伙伴是不是经常听到一句话“万物皆对象”。目前的编程语言都是面向对象的,其中比较典型的就是java。这篇文章我们就来看一看java中是如何“万物皆对象的”

28f47ab8642ce450247f0c9edca7bd85.png

首先,我们必须了解什么是面向对象程序设计

废话少说,先看定义!

01“面向对象”的定义

面向对象的程序设计(OOP)是面向过程程序设计的继承和发展,它不仅汲取了后者的精华,而且以一种更加接近人类思维的方式来分析和解决问题:程序是对现实世界的抽象和描述,现实世界的基本单元是物体,与之对应的,程序中的基本单元是对象。

面向对象思想认为:现实世界是由对象组成的,无论大到一个国家还是小到一个原子,都是如此。并且对象都由两部分组成 - 描述对象状态或属性的数据(变量)以及描述对象行为或者功能的方法(函数)。并且与面向过程不同,面向对象是将数据和操作数据的函数紧密结合,共同构成对象来更加精确地描述现实世界,这是面向过程和面向对象两者最本质的区别。

4e5eedf974f965edcf78cfa3d6ad194e.png

如上所示,封装、继承、多态就是面向对象程序设计的三大基石。 它们是紧密相连、不可分割的。通过封装,我们可以将现实世界中的数据和对数据进行操作的动作捆绑在一起形成类,然后再通过类定义对象,很好地实现了对现实世界事物的抽象和描述;通过继承,可以在旧类型的基础上快速派生得到新的类型,很好地实现了设计和代码的复用;同时多态机制保证了在继承的同时,还有机会对已有行为进行重新定义,满足了不断出现的新需求的需要。

上面所讲的是OOP,而java就一种很典型的OOP语言,下面来看看java中的 “对象“和”类“。

02java中的类和对象

类:是抽象的概念集合,表示的是一个共性的产物,类之中定义的是属性和行为(方法);对象:对象是一种个性的表示,表示一个独立的个体,每个对象拥有自己独立的属性,依靠属性来区分不同对象。

举个生活中的例子:

你最喜欢的篮球明星是哪些?我最喜欢科比、姚明、詹姆斯、奥尼尔

这里的篮球明星其实就是一个类,具体的科比、姚明等人就是一个对象。科比、姚明都是打篮球的并且都是比较出名的明星,所以他们都属于篮球明星这个类。

结合这个简单的例子和上面类和对象的概念,你会发现生活中处处都是类和对象这种模式。

“汽车”是一个类,“宝马x5”、“奥迪a4”都是属于汽车这个类的对象。

在这个基础上我们再来看看java语言的代码,学习过java的小伙伴都知道javaAP主要就是各种类。然后我们根据这些类去实例化出具体的对象,然后进行使用。

6cf9367315b93b38ef6e5091b7df7b9a.png

这是java自带的一个Collections类,类是用“class”关键字进行标志的。要是去查看java源码就能发现,java中到出都是这样的用“class”修饰的类。而我们需要做的就是根据我们自己的需求去new出自己需要的对象,进行使用。当然更多情况下我们会自己去定义一个类然后使用它。

所有java代码几乎都是通过定义类、实例对象的方法来实现的

在java中你所做的全部工作就是定义类,产生哪些类的对象,并且使用它们

03总结

java中几乎都是对象,但是也有例外---比如基本数据类型,并不是对象,因为它们用的实在是太多类,所以如果每次使用“int"还需要去new,那岂不是太麻烦了。OOP是一种思想,它很符合我们的实际生活,要多结合实际生活去想关注我每天我们都一起进步

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值