Day08
一、构造方法
- 构造方法的作用:对属性赋值
- 什么是构造方法:构造方法是一个特殊的方法,是对属性进行赋值;有如下两个特点:
- 构造方法的方法名必须跟类名一致
- 构造方法不需要返回值,所有不用添加void关键字
- 构造方法的语法结构:
public 类名([参数列表]){
}
- 在IDEA中怎么快速生成构造方法:快捷键Alt + insert 键
- 构造方法怎么执行:创建对象的同时会自动匹配对应的构造方法
- 注意事项:
- 当一个类中没有编写构造方法时,则系统会自动提供一个无参构造方法,称为隐式构造方法;
- 当一个类中编写几个构造方法,类中就存在几个构造方法,称为显式构造方法
- 当一个类中编写构造方法时,建议先编写无参构造方法,因为此时系统不会提供一个无参构造的方法
- 构造方法重载:
- 什么是构造方法重载:在同一个类中,构造方法名必须相同,参数列表必须不同(参数个数、参数类型、参数顺序),至少编写两个构造方法,则构造构造方法重载;
- 创建对象时,会自动找相匹配的构造方法执行,否则编译报错;
- 构造方法重载更灵活,更方便
二、
- 引用:引用是一个变量,在java中保存的是内存地址;
- 空指针异常:当一个空引用访问实例相关的(对象)的属性和方法时,则会出现空指针异常
- static关键字:静态的;被static修饰的变量叫静态变量,被static修饰的方法叫静态方法;使用“类名.”访问,也可以使用“引用.”访问,但是不建议;
- 方法调用时,值怎么传递:传递的是参数中保存的内容;当是基本数据类型的参数传递的是具体保存的值;当是引用数据类型时传递的是参数中保存的内存地址;
- JVM内存结构变化:在JDK8之后,取消了方法区,添加了元空间;
- 栈区:局部变量
- 堆区:实例变量
- 元空间:字节码文件
三、封装
- 为什么要封装:因为没有封装的属性暴露在外,可以随意修改,数据不安全;
- 封装:为了保证属性的安全性,所以进行封装,只对外提供简单的操作入口;
- 封装的好处:保证了数据的安全性,只对外提供简单的操作入口;封装之后程序可以重复使用;封装之后提高了安全性,适应力比较强
-
封装的实现步骤:
第一步:属性私有化
第二步:对外提供公开的set和get方法
第三步:set没有返回值,返回值类型为void,get有返回值,返回值类型和结果类型一致
第四步:起名规范:get/set +属性名(首字母大写),遵守驼峰命名规则
四、static关键字
- static关键字表示静态的
- 被static修饰的变量称为静态变量,被static修饰的方法称为静态方法;与类有关
- static修饰的所有元素都用“类名.”访问,也可以用引用去访问(不建议),不需要new对象
- 静态变量存储在堆内存中,在类加载时初始化