标准的javaBean类:
1.类名需要见名知意;
2.成员变量使用private修饰;
3.提供至少两个构造方法:
- 无参构造方法;
- 带全部参数的构造方法;
4.成员方法:
- 提供每一个成员变量对应的setXxx()/getXxx();
- 如果还有其他行为, 也要写上;
//alt+insert快捷键
对象的内存图
一个对象的内存图:
Student s=new Student();
- 加载class文件;
- 申明局部变量;
- 在堆内存中开辟一个空间;
- 默认初始化;
- 显示初始化;
- 构造方法初始化;
- 将堆内存中的地址值赋值给左边的局部变量;
基本数据类型和引用数据类型:
从内存角度解释的话:
基本数据类型:数值是存储在自己的空间中;
特点:赋值给其他变量,也是赋的真实的值;
引用数据类型:数据值是存储在其他空间中,自己空间中存储的是地址值;
特点:赋值给其他变量,赋的是地址值;
this的内存原理:
this作用:区分局部变量和成员变量;
this本质:所在方法调用者的地址值;
成员变量与局部变量的区别:
成员变量:类中方法外的变量;
局部变量:方法中的变量;
区别 | 成员变量 | 局部变量 |
类中位置不同 | 类中,方法外 | 方法内,方法申明上 |
初始化值不同 | 有默认初始化值 | 没有,使用之前需要完成赋值 |
内存位置不同 | 堆内存 | 栈内存 |
生命周期不同 | 随着对象的创建而存在,随着对象的消失而消失 | 随着方法的调用而存在,随着方法的运行结束而消失 |
作用域 | 整个类中有效 | 当前方法中有效 |