类与对象的关系
| 一、类和对象的关系 |
![]() |
|
1、Java语言通过类class的形式,来对现实中的事物进行描述。 类的作用是描述,类是对事物的抽象,是一般,它提高了代码的复用性。就像老虎这个概念。 对事物的描述,通常只关注两方面,一是属性,一是行为。属性往往用数值体现,行为往往用动作(功能/函数)体现。 2、对象就是类的具体实例,是特殊,等于东北虎这种具体老虎。 通过new关键字产生该类事物的一个对象,对象就是该类事物实实在在的一个个体。
3、类class等于人这个概念描述,等于一般汽车图纸;类等于概念,本源, 对象通过new关键字产生,等于人里面的小王,等于具体的一艘汽车。对象等于化身,分身。 |
| 二、类和对象的关系举例 |
|
【】在class中描述,通过属性和函数两个角度描述 【】关键字基本都是小写,String本质是一个类所以只有他大写 |
|
【】创建对象+定义对象名称
【】通过new来创建类的实例 【】创建汽车实例的时候,要指定一些数据去运算,Car()小括号里面就是需要指定的内容 【】Car类型的变量c,Car是类,这是三种引用数据类型之一,用类定义的变量就是类类型变量 |
|
【】指挥对象做事情
【】调用方法:类变量名.成员,也可视为正常函数或内部变量使用时要明确所在类名,故加一个前缀。 |
|
【】定义类就是定义类里面的成员 【】成员分为成员函数(行为)和成员变量(属性),都是类里面描述 【】成员变量定义在类中,整个类的大括号内都有效;局部变量定义在函数里,只在函数大括号内有效 |
| 【】Car这个类里面没有主函数,因为用他来描绘事物,不需要独立运行。 |
| 三、对象的内存体现 |
|
【】凡是new出来的,都在堆内存,堆内存都是实体 Car c=new Car();
【】类变量名c作为函数里的临时变量,在栈内存。 【】new出来的实体类Car()在堆内存,堆内存中数值变量默认值0,字符串默认值null空 【】Car里面的成员变量在堆内存 |
|
【】从c找到堆内存里面实体,num改为4,color改为red |
|
【】c1,c2临时变量在栈内存 【】实体在站内内存 |
|
【】栈内存c1指向堆内存实体0034,栈内存c2也指向实体0034,两个栈内存都可以操作堆内存的这一个实体 【】c1=null空后,栈内存c1里面就是null,现在只有c2指向实体了 |
|
【】实体就是为了封装数据,每个对象都在封装自己的数据 数组封装同类型数据,对象封装一个事物所具备的数据 【】对象的出现就是为了封装数据 |
| 四、成员变量和局部变量区别 |
|
【】函数(和局部变量)在栈内存,类(和数组)在堆内存 【】类里面函数运行时会进入栈中
【】类里面的成员变量需要的话,既可以只定义不赋值,也可以定义后就赋值 |











浙公网安备 33010602011771号