对象

什么是对象?
         万物皆对象。它包括现实中客观存在的事物,也包括抽象的时间、规则、思维。简单点说,对象具有状态、行为和标识。

什么是类?
         具有相同特性和行为的对象组成的集合就是类,JAVA实际中的类就是指一个数据类型。

对象与类的关系

类是对象的抽象,而对象是类的具体实例。类与对象的关系:抽象(该抽象是名词)与类的实例化就是对象,对象的共性特征抽象(该抽象是动词)出来就是类。

比如你要买一台PC,你在订单上列出了这台PC的CPU和显卡型号、显示屏的大小、键盘是104还是87位、主机的颜色等等,这所有信息组成在一起就是一个电脑的类,但你只有它的参数并没有一个符合这个要求的实物对象,而当服务员拿出了一台符合这个订单的具体PC时,这个PC就是那个类的具体对象。

实习找工作遇到个印象较深的基础面试问题,
         面试官:男人和女人是同一个类吗?
         我:是同一类。
         面试官:钢笔和铅笔是同一个类吗?
         我:是同一类。
         面试官:男人和钢笔是同一个类吗?
         我犹豫了3秒钟,
         我:不是同一类
         面试官:看来你对基础概念理解的还不到位啊。

这里,首先你要懂得万物皆对象,对象都是类的实例,而类是对象的抽象。那么我在JAVA中就可以定义男人和钢笔都是A类或B类或C类,而这个类可以是描述都是看的见或摸的着的特征,亦或是什么都不描述的但就是用来实例化男人和钢笔的类(类可以是你随性定义的),即男人和钢笔是同一类。同理,时间和水是一类吗?思维和手是一类吗?都是的。
  其实面试官在这也埋了一个坑----没有交代问题的前提条件。我认为完美的答案应该是:
     “从生活角度讲,男人和女人是同一类,钢笔和铅笔是同一类,但男人和钢笔不是同一类。
     从Java中类与对象的关系来说,男人和女人是同一类,钢笔和铅笔是同一类,男人和钢笔也是同一类。”

面试官还问过我一个对象问题:
         面试官:若我是一个完全不懂IT和编程的人,你能给我解释一下什么是对象吗?
         我:在JAVA中,对象就是一类数据的实例化,他们有着一种或几种的相同特征。
         面试官:你认为一个普通人听得懂这个吗?你只需要说万物皆对象就好,再举几个生活中的例子,没必要去背概念。

最后,我还是收到了这加公司的Offer,也是我工作生涯所进的第一家公司,也让我认识到了什么叫资产阶级的剥削,当然,这些都是后话了。。。

什么是类?对象?类与对象的关系是什么?相关推荐

  1. 使用扩展方法和静态门面类实现伪领域对象

    背景介绍 领域对象,在此特指充血的领域对象模型,在解决什么是伪领域对象之前,需要事先解释何为充血的领域对象.在此后的介绍中,假设我们存在对象模型Employee-Department. 在面向对象的实 ...

  2. python类_python类和对象

    1.self? python的self相当于c++的指针 self相当于每个房子的门派号,同一个类生成很多对象,对象很相似.当一个对象的方法被调用时,对象为第一个参数传递给方法. 2.python的魔 ...

  3. python释放类对象_Python 基本功: 10. 面对对象-类 Class

    虽然 Python 可以写函数式编程,但是本质上是一门面对对象编程语言 (object-oriented programming language),简称 oop.面对对象编程是把代码包装成一个对象 ...

  4. 对象类什么是面向对象(1)

    时间紧张,先记一笔,后续优化与完善. 面向对象(Object Oriented,OO)是前当计算机界关怀的重点,它是90年代件软发开方法的主流.面向对象的观点和应用已超出了程序筹划和件软发开,扩展到很 ...

  5. 关于类、方法、对象(实例):静态方法

    类里面的方法有3种:类的实例方法(平时常用的带有self的方法).静态方法(@staticmethod ).类方法(@classmethod) 这里主要看一下类的实例方法和静态方法的区别: (1)实例 ...

  6. Struts2教程6:在Action类中获得HttpServletResponse对象的四种方法

    在struts1.x Action类的execute方法中,有四个参数,其中两个就是response和request.而在Struts2中,并没有任何参数,因此,就不能简单地从execute方法获得H ...

  7. python3 类字符串名实例化对象

    方法一: class obj(object): pass a = eval('obj()') 方法二: # 如果是经常需要这样可以 # 将用来创建对象的字符串预编译成code对象. create_ob ...

  8. python类的属性和对象属性_在python的类中动态添加属性与生成对象

    本文将通过一下几个方面来一一进行解决 1.程序的主要功能 2.实现过程 3.类的定义 4.用生成器generator动态更新每个对象并返回对象 5.使用strip 去除不必要的字符 6.rematch ...

  9. 【Groovy】Groovy 方法调用 ( 使用 对象名.成员名 访问 Groovy 类的成员 | 使用 对象名.‘成员名‘ 访问类的成员 | 使用 对象名[‘成员名‘] 访问类成员 )

    文章目录 一.使用 对象名.成员名 访问 Groovy 类的成员 二.使用 对象名.'成员名' 访问 Groovy 类的成员 三.使用 对象名['成员名'] 访问 Groovy 类的成员 四.完整代码 ...

  10. 【设计模式】代理模式 ( 动态代理 | 模拟 Java 虚拟机生成对应的 代理对象 类 )

    文章目录 前言 一.模拟 JVM 生成对应的 代理对象 二.模拟 JVM 生成对应的 代理对象 完整流程展示 1.目标对象接口 2.被代理对象 3.调用处理程序 4.模拟 JVM 生成的代理对象类 5 ...

最新文章

  1. python封装 继承 多态 举例_python面向对象中的封装、继承、多态
  2. java解析excel的js页面,Java导入Excel文件页面实现JS
  3. 带着canvas去流浪系列之一:绘制柱状图
  4. 【转】TestNG常用注解
  5. vue 随机显示数组的其中一个_两个显示器组建双屏其中一个屏幕出现重影解决方法...
  6. block的理解 ios_iOS面试--字节跳动最新iOS开发面试题
  7. python输出文件夹路径_python如何获取文件夹下第一层文件的路径,
  8. 和java_那些和Java的点滴
  9. python3数据库同步_Python同步Mysql不同数据库的表
  10. RS485协议和Modbus协议有什么区别?工业网关能用吗?
  11. 哔哩哔哩视频音频下载器批量下载器
  12. 在阿里 AI Lab 做 NLP 高级算法专家是一种什么样的体验?
  13. zoj 3551 Bloodsucker 概率DP
  14. Windows主机连接Windows虚拟机上Oracle数据库
  15. 阿里云智能编码插件Cosy,让你的开发过程既高效又轻松
  16. 笑喷了,电视剧里的代码真能运行吗?
  17. win 7 系统(x64)安装vs2012时遇到的问题
  18. LIMS实验室系统管理软件的国内外应用现状
  19. [机器学习] 深入理解 目标函数,损失函数和代价函数
  20. 移动二班 21号 pycharm 04.09

热门文章

  1. python交互界面制作_Python 如何编写交互界面?_后端开发
  2. Mysql出现问题:ERROR 3636 (HY000): Recursive query aborted after 1001 iterations. Try increasing解决方案
  3. 设置Windows账号出错,该组不存在client
  4. css3 手机相册,CSS相册简单实现方法(功能分析及代码)
  5. 位(bit)、字节(Byte)、字(word)、字长
  6. MoveIt!之ROS1Melodic版本发布(MoveItCpp教程)
  7. CGB2009-京淘项目DAY10
  8. PBR渲染(二)——PBR皮肤渲染
  9. echarts——实现中国地图+世界地图的切换——技能提升
  10. android10续航,2017年旗舰手机续航排名:超过10小时的仅这三款