static 关键字:公用的属性和方法,就可以声明为static的
static 可以用来修饰属性、方法、代码块(初始化块)、内部类
static 修饰属性(类变量) 值存放在静态域中,地址给那个引用
可以直接通过 类名.类变量 的方式调用
当其中一个该类的对象对其修改后,其他类对象获取到的也是修改完成的
类变量是随着类的加载而加载的(在内存的静态域中),是早于对象的加载的,而实例变量只有new 的时候才被加载到内存的堆空间中。

static 修饰方法
也是随着类的加载而加载
可以通过 类名.类方法 来调用
在静态方法中可以调用静态的属性或者方法,而不能直接调用非静态的属性和方法~ 因为两者的声明周期不同~~(加载时机不同)
但是反过来,非静态的方法可以去调用静态的方法 和 属性的
静态结构(static 的属性、方法、代码块、内部类)的生命周期要长于 非静态的结构的生命周期~~~
静态方法中不可以有 this 和 super 关键字
使用静态变量可以实现一个累加的效果!~~
static 可以用来修饰属性、方法、代码块(初始化块)、内部类
static 修饰属性(类变量) 值存放在静态域中,地址给那个引用
可以直接通过 类名.类变量 的方式调用
当其中一个该类的对象对其修改后,其他类对象获取到的也是修改完成的
类变量是随着类的加载而加载的(在内存的静态域中),是早于对象的加载的,而实例变量只有new 的时候才被加载到内存的堆空间中。
static 修饰方法
也是随着类的加载而加载
可以通过 类名.类方法 来调用
在静态方法中可以调用静态的属性或者方法,而不能直接调用非静态的属性和方法~ 因为两者的声明周期不同~~(加载时机不同)
但是反过来,非静态的方法可以去调用静态的方法 和 属性的
静态结构(static 的属性、方法、代码块、内部类)的生命周期要长于 非静态的结构的生命周期~~~
静态方法中不可以有 this 和 super 关键字
使用静态变量可以实现一个累加的效果!~~