第十天课堂笔记
debug调试★★★
- 步骤: 设置断点 - > 启动调试debug -> 单步运行 -> 观察参数
- 单步跳过f8: 向下执行语句,不进入方法内部
- 单步跳入f7: 进入方法内部执行
- 单步跳出shift + f8: 跳出当前方法,到方法调用处
- 跳转到光标所在的位置alt + f9:
变量整合
- 变量
- 属性(成员变量\字段)
- 实例变量 => 对象的变量
- 不带static关键字
- 存在堆区的对象中
- 静态变量 => 类的变量
- 带static关键字
- 存在堆区
- 实例变量 => 对象的变量
- 局部变量
- 属性(成员变量\字段)
this关键字★★★
- 代表当前对象
- this可以访问本类中的实例变量=>对象的变量
- this.实例变量
- this可以访问本类中的实例方法=>对象的方法
- this.实例方法名()
- 同一个类中的实例方法直接调用,默认为 方法名 => this.方法名
- this可以访问本类其他构造方法:给实例变量赋值
- this([参数]);
- 使用this()调用本类构造方法, 必须放在构造方法的第一条语句
- 构造方法不能调用构造方法自己,出现死循环
封装★★★
-
面向对象三大特征:封装 ,继承 ,多态
-
封装:隐藏类的内部信息,不允许程序直接访问,可通过方法调用
- 使用private修饰符:致使对象调用赋值变量只能通过set和get方法
- 生产实例变量方法:alt + fn + insert-> getter and setter
- 在方法中添加适当判断条件
-
好处: 值合法
-
set方法连缀操作: setter template => builder , 这样返回的就是对象,就可以继续调用该对象的方法了
static关键词★★★★
-
static关键字修饰属性.方法,代码块
-
成员变量不带static-> 实例变量 => 对象的变量
-
成员变量带static -> 静态变量 => 类的变量
-
静态变量
- 生命周期: 类加载内存就给静态变量分配内存 -> 程序结束 => 类编译开始 -> 程序结束
- 存放在->堆区 :
- 调用:
- 类名.静态变量名
- 对象名.静态变量名
- 静态变量不属于某个对象,对当前这个类的所有对象都可以调用
- 当对象名=null时,静态变量依旧可以使用对象名.变量名调用
- 静态变量的使用
- 多个对象中某一个属性值一直默认相同
-
静态方法
- 类优先于对象 => 对象可以使用类的变量\方法
- 静态方法默认前面编写当前类的类名=> 类名.
- 实例方法默认前面编写this => this.
- 但编写工具类时,建议工具方法编写为静态方法
-
static 修饰代码块
-
静态代码块 static{}
-
作用:完成静态变量的赋值
-
加载类到内存中,给静态变量分配空间,静态代码块同时执行,并且只执行一次
-
-
static修饰内部类
- 在类中再写个类: 嵌套类\内置类
-
static实现静态导入
img-DdDf2OXA-1711199181965)]
-
static修饰内部类
- 在类中再写个类: 嵌套类\内置类
-
static实现静态导入