首先要明确,在现实生活中,每一个物体都有自己的基本特征,专业一点也可以说成是属性有些甚至还有一定的行为。例如 汽车的特征:有车门、有轮胎、颜色各一等等,行为:有行驶,开车门,开车灯,等等。有这些属性和行为的东西,我们就可以把它称之为“汽车”。那么在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. [SDOI2010]粟粟的书架

    题目大意: 网址:https://daniu.luogu.org/problemnew/show/2468 大意:本题有两问: [1] 给定一个\(R*C\)的带权矩阵,询问\(2×10^5\)次在一 ...

  2. Bitset([HZOI 2015]偏序++)

    Bitset简介 下面介绍C++ STL 中一个非常有用的东西: Bitset 类似于二进制状压,它可以把信息转化成一个01串存储起来 定义方法: 首先要#include<bitset>或 ...

  3. [BZOJ4291] [PA2015] Kieszonkowe

    Description 给定n个数,请从中选出若干个数,使得总和为偶数,请最大化这个总和.  Input 第一行包含一个正整数n(1<=n<=1000000). 第二行包含n个正整数a_1 ...

  4. mount挂接命令使用

    挂接 操作系统 1.-t vfstype 指定文件系统的类型,通常不必指定.mount 会自动选择正确的类型.常用类型有: 光盘或光盘镜像:iso9660 DOS fat16文件系统:msdos Wi ...

  5. Win10下Ubuntu bash上手

    第一次发表博客,可能写的不是很好,希望大家谅解! 今天咱们来上手一下Windows10下的bash,首先这款bash是基于Ubuntu操作系统的一个移植,也是方便开发和学习Linux中的shell命令 ...

  6. OpenStack中的rabbitmq的配置方法

    OpenStack中的rabbitmq的配置方法 author:headsen chen   2017-10-11  17:24:58 个人原创,允许转载,转载请注明作者,出处,否则依法追究法律责任 ...

  7. IPFS家族(一)

    IPFS这个项目其实很大,并不像大家想象的是一个东西,IPFS是由很多模块组成,每一个模块现在都已经独立成项目了,并且有自己的主页.让我们来简单看一下IPFS家族成员. 协议实验室的主页:https: ...

  8. 关于html文档的规范

    1. <!DOCTYPE html> 告诉浏览器该文档使用哪种html或xhtml的规范 2. 元数据中的X-UA-Compatible <meta http-equiv=" ...

  9. UnderScore.jsAPI记录

    Collection Functions (Arrays or Objects) each         _.each(list, iterator, [context]) 遍历list中的所有元素 ...

  10. python 一篇就能理解函数基础

    一,函数是什么? 函数一词来源于数学,但编程中的「函数」概念,与数学中的函数是有很大不同的,具体区别,我们后面会讲,编程中的函数在英文中也有很多不同的叫法.在BASIC中叫做subroutine(子过 ...