一、面向过程、面向对象
面向过程与面向对象都是我们编程中,编写程序的一种思维方式。
面向过程的程序设计方式,是遇到一件事时,思考“我该怎么做”,然后一步步实现的过程。在mian方法里,一步步实现
面向对象的程序设计方式,是遇到一件事时,思考“我该让谁来做”,然后那个“谁”就是对象,他要怎么做这件事是他自己的事,反正最后一群对象合力能把事就好就行了。用方法实现功能,建立对象调用。
二、类与对象
1、定义类的格式:
public class 类名 { //可编写0至n个属性 数据类型 变量名1; 数据类型 变量名2; //可编写0至n个方法 修饰符 返回值类型 方法名(参数){ 执行语句; } }
通过代码的描述,知道类的真正意义就是在描述事物。属性和功能统称为事物中的成员。
事物的成员分为两种:成员属性和成员功能。
成员属性在代码中的体现就是成员变量
成员功能在代码中的体现就是成员方法
2、创建对象的格式:
public class CarDemo { public static void main(String[] args) { /* * 测试:Car类中的run方法。 */ // 1,创建Car的对象。给对象起个名字c。 Car c = new Car();// c是类类型的变量。c指向了一个具体的Car类型的对象。 // 2,通过已有的对象调用该对象的功能。格式:对象.对象成员; // 3,可以该对象的属性赋值。 c.color = "red"; c.number = 4; c.run(); } }
3、对象的内存图解
4、类和对象的区别
类是对某一类事物的抽象描述,而对象用于表示现实中该类事物的个体。
5、局部变量和成员变量区别
- 区别一:定义的位置不同
定义在类中的变量是成员变量
定义在方法中或者{}语句里面的变量是局部变量
- 区别二:在内存中的位置不同
成员变量存储在堆内存的对象中
局部变量存储在栈内存的方法中
- 区别三:生命周期不同
成员变量随着对象的出现而出现在堆中,随着对象的消失而从堆中消失
局部变量随着方法的运行而出现在栈中,随着方法的弹栈而消失
- 区别四:初始化不同
成员变量因为在堆内存中,所有默认的初始化值
局部变量没有默认的初始化值,必须手动的给其赋值才可以使用。
6、基本类型和引用类型作为参数传递
引用类型数据和基本类型数据作为参数传递有没有差别呢?我们用如下代码进行说明,并配合图解让大家更加清晰