0
点赞
收藏
分享

微信扫一扫

java程序基础——类与对象

静鸡鸡的JC 2022-03-27 阅读 65

目录

一、对象在需求中的使用

二、对象在代码中的体现

1. 分析小汽车的属性和功能

2. 通过伪代码描述小汽车 

3. 通过Java代码描述小汽车

4. 创建对象的格式: 

5. 测试类

三、对象的内存图解 

四、类和对象的区别

五、成员变量和局部变量的区别

1、区别一:定义的位置不同

2、区别二:在内存中的位置不同

3、区别三:声明周期不同

4、区别四:初始化不同

六、基本类型和引用类型作为参数传递

1、基本类型

2、引用类型


一、对象在需求中的使用

需求:把大象装冰箱里

面向过程: a. 自己打开冰箱门; b. 自己将大象装进去; c. 自己关闭冰箱门

面向对象:分析发现打开、装、关闭都是冰箱的功能。 即冰箱对象具备如下

功能: a. 打开门; b. 存储事物; c. 关闭门;

使用对象:

a. 创建冰箱的对象:冰箱 bx = new 冰箱();

b. 调用冰箱的功能:对象.功能(); bx.打开(); bx.存储(new 大象()); bx.关闭();

二、对象在代码中的体现

1. 分析小汽车的属性和功能

属性: i. 颜色 ii. 轮胎个数

功能: a. 运行

2. 通过伪代码描述小汽车 

3. 通过Java代码描述小汽车

定义类的格式 

public class 类名 {
//可编写0至n个属性
数据类型 变量名1;
数据类型 变量名2;
//可编写0至n个方法
修饰符 返回值类型 方法名(参数){
执行语句;
}

汽车类

public class Car {
String color;
int tyreNumber;
void run() {
System.out.println(color + ":" +
number);
}
}

4. 创建对象的格式: 

5. 测试类

public class CarDemo {
public static void main(String[] args) {
/*
* 测试:Car类中的run方法。
*/
// 1,创建Car的对象。给对象起个名字。
Car c = new Car();// c是引用类型Car的变量。c指向了一个具体的Car类型的对象。
// 2,通过已有的对象调用该对象的功能。格式:对象.对象成员;
// 3,可以该对象的属性赋值。
c.color = "red";
c.number = 4;
c.run();
}
}

三、对象的内存图解 

四、类和对象的区别

类是对某一类事物的抽象描述,而对象用于表示现实中该类事物的个体

 在上图中,可以将玩具模型看作是一个类,将一个个玩具看作对象,从玩具模型和 玩具之间的关系便可以看出类与对象之间的关系。

五、成员变量和局部变量的区别

1、区别一:定义的位置不同

a. 定义在类中的变量是成员变量

b. 定义在方法中或者{}语句里面的变量是局部变量

2、区别二:在内存中的位置不同

a. 成员变量存储在对内存的对象中

b. 局部变量存储在栈内存的方法中

3、区别三:声明周期不同

a. 成员变量随着对象的出现而出现在堆中,随着对象的消失而从堆中消失

b. 局部变量随着方法的运行而出现在栈中,随着方法的弹栈而消失

4、区别四:初始化不同

a. 成员变量因为在堆内存中,所有默认的初始化值

b. 局部变量没有默认的初始化值,必须手动的给其赋值才可以使用

六、基本类型和引用类型作为参数传递

1、基本类型

class Demo {
public static void main(String[] args) {
int x = 4;
show(x);
System.out.println("x="+x);
}
public static void show(int x) {
x = 5;
}
}

基本类型作为参数传递时,其实就是将基本类型变量x空间中的值复制了一份 传递给调用的方法show(),当在show()方法中x接受到了复制的值,再在show()方 法中对x变量进行操作,这时只会影响到show中的x。当show方法执行完成,弹栈 后,程序又回到main方法执行,main方法中的x值还是原来的值。

2、引用类型

class Demo {
int x ;
public static void main(String[] args) {
Demo d = new Demo();
d.x = 5;
show(d);
System.out.println("x="+d.x);
}
public static void show(Demo d) {
d.x = 6;
}
}

当引用变量作为参数传递时,这时其实是将引用变量空间中的内存地址(引用) 复制了一份传递给了show方法的d引用变量。这时会有两个引用同时指向堆中的同 一个对象。当执行show方法中的d.x=6时,会根据d所持有的引用找到堆中的对 象,并将其x属性的

举报

相关推荐

类与对象(基础)

类与对象java

Java类与对象

JAVA:类与对象

JAVA//对象与类

0 条评论