(一) 类与对象的学习总结
类与对象
一.面向对象的编程语言
1.1 面向过程与面向对象
- 面向过程:指的是将步骤一步步按部就班的完成,将每件事都依次做完。举例,洗衣服,加水->洗衣粉->浸泡->揉搓等
- 面向对象:将对象封装成类,类中有自己的属性(变量)和方法(函数),再使用对象中的方法完成任务。举例,打开洗衣机->放入衣物->开始(不必关心洗衣机具体怎么洗)
1.2 类与对象
类是抽象的,对象是具体的.对象是类创建的实体,比如狗是一种抽象的概念,而邻居家中的那只狗就是一个具体的概念
1.3 类的定义
public class Person{
//成员变量
private int age;
//成员方法
Person(int age){
this.age=age;
}
public void setAge(int num){
age=num;
}
public int getAge(void){
return age;
}
}
1.4 封装的方法--private关键字
封装即把成员变量隐藏起来,不让对象直接调用改变成员变量,也是一种面向对象的思想.
private的含义
- private是一个权限修饰符,代表最小权限。
- 可以修饰成员变量和成员方法。
- 被private修饰后的成员变量和成员方法,只在本类中才能访问。
this的含义
- this代表所在类的当前对象的引用(地址值),即对象自己的引用。
构造方法
当一个对象被创建时候,构造方法用来初始化该对象,给对象的成员变量赋初始值。
- 小贴士:无论你与否自定义构造方法,所有的类都有构造方法,因为Java自动提供了一个无参数构造方法, 一旦自己定义了构造方法,Java自动提供的默认无参数构造方法就会失效。
1.5 对象的使用
创建对象:
类名 对象名 = new 类名();
对象的使用:
对象名.成员变量;
对象名.成员方法();
成员变量默认值
- 未使用构造方法赋值时,对象的成员变量会赋值默认值.
| 数据类型 | 默认值 |
|---|---|
| 整数(byte,short,int,long) | 0 |
| 浮点数(float,double) | 0.0 |
| 字符(char) | '\u0000' |
| 布尔(boolearn) | false |
| 引用类型(数组,类) | null |
1.6 类和对象的储存位置
- 栈内存:调用的方法(从main函数开始)依次进栈,方法调用结束出栈.
- 堆内存:所有new的对象,变量都在堆内存储存,而栈内存中声明的对象或引用类型变量是其在堆内存的地址
- 方法区:代码中的类的定义以及函数的定义在方法区中

1.7 成员变量与局部变量
public class Person{
//成员变量
private int age;
//成员方法
public int getAge(void){
int newAge=age+1;//局部变量
return newAge;
}
}
| 不同之处 | 成员变量 | 局部变量 |
|---|---|---|
| 类中位置 | 类中,方法外 | 方法中或方法声明上(形参) |
| 作用范围 | 类中 | 方法中 |
| 初始化值 | 有默认值 | 无默认值 |
| 内存位置 | 堆内存 | 栈内存 |
| 生命周期 | 创建对象开始,对象消失时消失 | 方法调用开始,调用完消失 |

浙公网安备 33010602011771号