static-静态方法和静态常量-内存分析

static关键字


静态变量(类变量)、静态方法(类方法):static声明的属性或方法

静态变量/静态方法生命周期和类相同,在整个程序执行期间都有效,它有如下特点:

1、为该类的公用变量,属于类,被该类的所有实例共享,在类载入时被初始化

2、static成员变量只有一份

3、一般用“类名.类变量/方法”来调用

4、在static方法中不可直接访问非static的成员

静态初始化块-继承树的追溯

构造方法用于对象的普通属性初始化

静态初始化块,用于类的初始化操作

在静态初始化块中不能直接访问非static成员

注意事项:

静态初始化块执行顺序:上溯到Object类,先执行Object的静态初始化块,再向下执行子类的静态初始化块,直到类的静态初始化块为止。构造方法执行顺序和上面顺序一样

this的本质-对象创建过程的4步-隐式参数

this关键字(当前对象本身,对象的地址)

this本质就是“创建好的对象的地址”,就是“当前对象的地址”

this的用法

1、普通方法中,this总是指向调用该方法的对象

2、构造方法中,this总是指向正要初始化的对象


this的其他要点

1、this()调用重载的构造放,避免相同的初始化代码,但只能在构造方法中用,并且必须位于构造方法的第一句

2、this不能用于static方法中

3、this是作为普通方法的“隐式参数”,由系统传入到方法中

变量分类-局部变量-成员变量-静态变量的总结

变量的分类和作用域


变量有三种各类型:局部变量、成员变量(实例变量)和静态变量(类变量)

局部变量、成员变量、静态变量的核心区别

类型 声明位置 从属于 生命周期(作用域)
局部变量 方法或语句块内部 方法/语句块 从声明处开始,到方法或语句块结束
成员变量(实例变量) 类内部,方法外部 对象 对象创建,成员变量也跟着创建。对象消失,成员变量也跟着消失;
静态变量(类变量) 类内部,static修饰 类被加载,静态变量就有效

This site is built by Kairos using the Stellar 1.33.1 theme.
Unless otherwise stated, all articles on this blog are licensed under CC BY-NC-SA 4.0. Please indicate the source when reprinting.