类、对象
1. 基本含义
面向过程:当需要实现一个功能的时候,每一个具体的步骤都亲力亲为,详 细处理每一个细节
面向对象: 当需要实现一个动能的时候,不关心具体的步骤,而是找一个 已经具有该功能的人,来帮我做事
成员变量(属性):
String name;
int age;
成员方法(行为):
public void eat() {}
public void sleep() {}
public void study() {}
注意事项:
1.成员变量直接定义在类中,在方法外边
2.成员方法不要写static关键字修饰
2. 类的使用
1.导包
对于和当前类属于同一个包的情况,可以省略导包语句
2.创建
类名称 对象名 = new 类名称();
3.使用
使用成员变量: 对象名.属性名
使用成员方法:对象名.方法名(参数)
3. 栈和堆的变化
java一个生命周期内的压栈和出栈,黑X表示出栈
例如:
a. main方法被调用,main被压栈到底部
b. call被调用,call也被压栈,call调用结束,call出栈
c. sendMessage()被压栈,完成后出栈
d. main运行到最后,main出栈

一个类,new两个对象在生命周期内的内存变量
两个引用指向同一个对象的内存图
使用对象类型作为方法的参数
4. 成员变量和局部变量区别
a. 定义的位置不一样
局部变量:在方法的内部
成员变量:在方法的外部,直接写在类中
b. 作用范围不一样
局部变量:只有方法当中才可以使用,出了方法就不能再用
成员变量:整个类全部都可以通用
c. 默认值不一样
局部变量:没有默认值,如果想要使用,必须手动进行赋值,不然编译报错
成员变量:如果没有赋值,会有默认值,规则和数组相同
d. 内存的位置不同
局部变量:位于栈内存
成员变量:位于堆内存
e. 生命周期不一样
局部变量:随着方法的进栈而诞生,随着方法的出栈而消失
成员变量:随着对象的创建而诞生,随着对象被垃圾回收而消失
5. 面向对象的三大特征:封装、继承、多态
封装性在java中的提现:
a. 方法是一种封装
b. 关键字private也是一种封装
封装就是将一些袭击信息隐藏起来,对外界不可见
this的释义和使用
当方法的局部变量和类的成员变量重名的时候,根据“就近原则”,有限使用局部变量。
如果需要访问本类当中的成员变量,需要使用格式:
this.成员变量
构造方法
构造方法是专门用来创建对象的方法,当我们通过关键字类创建对象时,其实就是在调用构造方法。
格式
public 类名称(参数类型 参数名称) {
方法体
}
注意事项:
- 构造方法的名称必须和所在的类名称完全一致,就连大小写也要一样
- 构造方法不能写返回值类型,连void都不写
- 构造方法不能return一个具体返回值
- 如果没有编写任何的构造的方法,那么编译器将会默认赠送一个构造方法,没有差数、方法体什么事情都不做
public Student() {}
- 一旦编写了至少一个都早方法,那么编译器将不再赠送
6. 一个标准的类 包含以下:
- 所有的成员变量都要使用private关键字修饰
- 为每一个成员变量编写一对儿Getter/Setter方法
- 编写一个无参数的构造方法
- 编写一个有参数的构造方法
这样的标准类叫做 Java Bean
Code->Generate -> Getter/Setter 可以快速生成get set方法
Code->Generate -> Constructor 可以快速生成构造方法