首先要明确,在现实生活中,每一个物体都有自己的基本特征,专业一点也可以说成是属性有些甚至还有一定的行为。例如 汽车的特征:有车门、有轮胎、颜色各一等等,行为:有行驶,开车门,开车灯,等等。有这些属性和行为的东西,我们就可以把它称之为“汽车”。那么在java语言中对现实生活中的事物进行描述。是通过类的形式来体现的。比如我们来描述一辆汽车:

1,属性:
 轮胎数。numbers          
 颜色。 color

……
2,行为:
 运行。

run

……

class Car
{
 int num;
 String color;
 
 void run()
 {
  int num = 10;
  System.out.println(num+"..."+color);
 }

}

根据例子可以得出我们可以用一个类别来区分和定义一个事物,或者说是对象。那么对象和类又有什么关系呢?

首先我们要先明白什么是类:简而言之,类是对象,事物的描述和抽象,是具有相同属性和行为的对象集合。

对象:该类事物的实例。

在上面汽车的例子中我们也可以把汽车类理解为汽车的图纸,实例就是实实在在的汽车。因为要制造一辆汽车,必须根据图纸来制造,汽车图纸就是描述一辆汽车的最好的体现。

在JAVA中我们能通过NEW来创建一个“类”。

在JAVA中用这种面向对象的思维方式来考虑问题有3点好处:

1,面向对象就是一种常见的思想。符合人们的思考习惯。从而更便于人们理解。
2,面向对象的出现,将复杂的问题简单化。提高了效率,因为人是一种抽象能力很强的生物。
3,面向对象的出现,让曾经在过程中的执行者,变成了对象中的指挥者。

怎么去理解JAVA中类与对象的关系的更多相关文章

  1. Java中类,对象,方法的内存分配

    Java中类,对象,方法的内存分配 以下针对引用数据类型: 在内存中,类是静态的概念,它存在于内存中的CodeSegment中. 当我们使用new关键字生成对象时,JVM根据类的代码,去堆内存中开辟一 ...

  2. Java中类与类的关系

    在java中类和类的关系大致分三种:泛化.关联.依赖. 1. 泛化(Generalization) "XX是一个XX"关系(is a),通常使用的关键词为 extends.impl ...

  3. 【java虚拟机系列】java中类与对象的加载顺序

    首先了解一下Java虚拟机初始化的原理. JVM通过加装.连接和初始化一个Java类型,使该类型可以被正在运行的Java程序所使用.类型的生命周期如下图所示: 装载和连接必须在初始化之前就要完成. 类 ...

  4. 深入理解java不可变对象(转)

    深入理解Java中的不可变对象 不可变对象想必大部分朋友都不陌生,大家在平时写代码的过程中100%会使用到不可变对象,比如最常见的String对象.包装器对象等,那么到底为何Java语言要这么设计,真 ...

  5. 理解Java中的对象,变量和方法

    1.对象的创建和销毁 1.1 对象的创建 这里只介绍创建对象与构造方法的关系 (1).每实例化一个对象就会自动调用一次构造方法,实质上这个过程就是创建对象的过程,准确的说,在Java语言中使用new操 ...

  6. 理解Java的引用对象

    SoftReferenceWeakReference 的特性基本一致, 最大的区别在于 SoftReference会尽可能长的保留引用,不会在GC时就回收对象,而是直到JVM 内存不足时才会被回收(虚 ...

  7. java中类与对象

    讨论下有关类的知识: 首先是java中累的定义 定义了一组大体上相似的对象. 一个类所包含的方法和数据描述一组对象的共同行为和属性. 对象则是类的具体化,是类的实例. 类通过派生可以有子类,同样也可以 ...

  8. java中类与对象的概念(2013-05-04-bd 写的日志迁移

    1:类是抽象的,概念的,代表一类事物,比如人类.猫类.. 2:对象是具体的,实际的,代表一个具体的事物 3:类是对象的模板,对象是类的一个个体,实例 创建对象的两种方法: 1.先声明在创建 对象声明: ...

  9. 深入理解js——函数和对象的关系

    函数也是对象,但是函数却不像数组--数组是对象的一种,它是对象的一个子集.函数和数组之间不是单纯的包含与被包含的关系,它们之间有点像鸡生蛋蛋生鸡的逻辑. 来例子:function Fn(){ this ...

随机推荐

  1. TensorLayer官方中文文档1.7.4:API – 强化学习

    API - 强化学习¶ 强化学习(增强学习)相关函数. discount_episode_rewards([rewards, gamma, mode]) Take 1D float array of ...

  2. Java解析YAML和Android解析YAML

    一.Java解析YAML 1. API的选择 一般分两种:Jyaml和snakeYAML.(Jyaml下载地址:http://download.csdn.net/detail/dgssfgfs/847 ...

  3. Bzoj4555: [Tjoi2016&Heoi2016]求和

    题面 Bzoj Sol 推柿子 因为当\(j>i\)时\(S(i, j)=0\),所以有 \[\sum_{i=0}^{n}\sum_{j=0}^{n}S(i, j)2^j(j!)\] 枚举\(j ...

  4. sspanelv3魔改版邮件设置指南及常用配置

    要进行SSpanel v3魔改版邮件设置,需要在设置文件(位于config/.config.php下)中修改两处内容: 1.设置发送邮件的方式 $System_Config['enable_email ...

  5. 关系型数据库工作原理-SQL重写(翻译自Coding-Geek文章)

    本文翻译自Coding-Geek文章:< How does a relational database work>.原文链接:http://coding-geek.com/how-data ...

  6. CSS3 translate、transform、transition区别

    translate:移动, transform的一个方法               通过 translate() 方法,元素从其当前位置移动,根据给定的 left(x 坐标) 和 top(y 坐标) ...

  7. asp.net core 发布centos 7 遇到的坑

    只是简单记录 .net core 在linux 的安装部署步骤,大神可以忽略 虚拟机:VMware Workstation Pro Linux 版本:http://mirrors.aliyun.com ...

  8. Angular4---部署---将Angular项目部署到IIS上

    ---恢复内容开始--- Angular项目部署到一个IIS服务器上 1.安装URL rewrite组件: 网址:https://www.microsoft.com/en-us/download/de ...

  9. java-StringBuffer学习笔记

    字符串是敞亮,它们的值在创建之后不能更改字符串的内容一旦发生了变化,那么马上回创建一个新的对象 public class Demo1{ public static void main(String[] ...

  10. 在 Scale Up 中使用 Health Check - 每天5分钟玩转 Docker 容器技术(145)

    对于多副本应用,当执行 Scale Up 操作时,新副本会作为 backend 被添加到 Service 的负责均衡中,与已有副本一起处理客户的请求.考虑到应用启动通常都需要一个准备阶段,比如加载缓存 ...