Java中的类、对象、抽象

学了很久的JAVA了,已经进入J2EE企业级应用的学习,今天逛论坛碰到的问题,忽然感觉自己真像老师说的是一个漏斗,只是漏的快慢的问题,所以特此记录下来,以作警示!
1.什么是类?
2.什么是对象?
3.什么是抽象?


类:
1)书面的定义是:类就是具有相同属性和行为的对象集合(抽象)。
2)我的理解:类不是具体的实体(如苹果),而是对实体的抽象概念化(如水果),世界上本来没有类这个东西,只是人类为了更好的理解和学习而抽象定义的,这个抽象的过程需要遵守一定的规则,那就是根据一系列实体(对象)是否具有相同的属性和行为而分类区别,这样就有了“类”的出现,引用鲁迅先生说的话篡改一下:世上本没有类,对象多了,就产生了类。
3)举例:人类是怎样认识事物(对象)和学习的呢?比如我们小时候看到某一种蛇,第一印象就是这东西长长的,细细的,滚动着前行,还会吐舌头,大人们还会告诉你“蛇”会咬人,会中毒,要小心;但是对于小孩子来说这时候是没有“蛇”的概念的,之后慢慢的见到各种各样的蛇,大人就会告诉你这是蛇,因为他也不知道具体是什么蛇,所以我们脑子里就形成了“蛇”的抽象概念,以后遇见同样的类似的东西就会把它称为“蛇”,其实我们人类就是通过抽象的思维来更快的认识各种事物和学习的,所以面向对象“类”的概念很接近人类的思维方式,所以被称为高级语言。

对象:
1)书面的定义:对象是由特征属性和行为两大要素构成的独立存在的客观事物。
2)我的理解:我们生活中万事万物都是对象,对象因我关注而产生。包括看的见摸的着的(太多了),看不见摸不着的但是客观存在的(空气)等,对象的属性是对静态特征的描述,行为是对动态特征的描述;而在面向对象的语言里,对象就是类的实例(实现),反过来类就是对象的抽象;当然对象也不是绝对的,比如蛇,可以看做一个对象,和大象,老虎等一起抽象为动物;也可以把它看做“蛇类”,通过它实例化一系列对象——花纹蛇,眼镜蛇,水蛇等等对象。所以我们在实际编程中设计的时候要灵活,根据业务需要设计类。
3)举例:桌子,凳子,电脑,手机,水杯,自行车等等,很好理解吧!

抽象:
1)书面定义:事物(对象)共有的,一般化的,通用的(非特定的)东西即为抽象。
2)我的理解:抽象是人类特有的一种天赋,它是人类意识的产物,比如我们前面我们说到的“蛇”,其实就是一种抽象,实际中没有蛇这种实体(对象),想想有吗?实际只有花纹蛇、眼镜蛇等这些具体的实体,那么蛇是怎么抽象产生的呢?就是把各种具体的蛇共有的一些属性和特征(我们称为一般化,通用性)抽象以后用一个名字去定义,那就是“蛇”,这就是抽象。
3)举例:动物、水果、知识、电器、美女等等,想想它们真实存在吗?再想想它们共有的东西是什么?


注意点:
1)初学JAVA面向对象时候,有一些概念的混淆,特整理一下。
对象=实例=实现
2)JAVA中只有类的文件,即xx.java文件,那么对象在哪儿呢?其实对象是通过类实例化的,刚开始就理解为这东西放在内存中。以后你会慢慢的明白对象也可以存储为文件(持久化),那叫做对象序列化(是二进制数据)。类定义了,但是我们在编程中都是和对象打交到,所以才叫“面向对象”编程,多敲代码慢慢就明白了。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值