1.static关键字:
1.概述:静态变量,可以修饰成员变量和成员方法
作用:共享数据
2.static关键字特点
随着类的加载而加载
优先于对象存在
被类的所有对象共享
注:这也是我们判断是否使用静态关键字的条件
可以通过类名调用
3.static关键字注意事项
在静态方法中是没有this关键字的
静态方法只能访问静态的成员变量和静态方法,非静态方法,都可以方法。
4.静态变量和成员变量的区别:
所属不同
静态变量属于类,所以也称为为类变量
成员变量属于对象,所以也称为实例变量(对象变量)
内存中位置不同
静态变量存储于方法区的静态区
成员变量存储于堆内存
生命周期不同
静态变量随着类的加载而加载,随着类的消失而消失
成员变量随着对象的创建而存在,随着对象的消失而消失
调用不同
静态变量可以通过类名调用,也可以通过对象调用
成员变量只能通过对象名调用
2.代码块
在Java中,使用{}括起来的代码被称为代码块,
根据其位置和声明的不同:
局部代码块,构造代码块,静态代码块,同步代码块
局部代码块:
在方法中出现;
限定变量生命周期,及早释放,提高内存利用率
构造代码块:
在类中方法外出现;
多个构造方法方法中相同的代码存放到一起,每次调用构造都执行,并且在构造方法前执行
静态代码块:
在类中方法外出现,加static修饰
用于给类进行初始化,在加载的时候就执行,并且值执行一次
注:
静态代码块--->构造代码块--->构造方法
静态代码块执行1次
构造代码块执行n次(创建多少对象,就执行多少次)