java之static

static修饰分为:静态代码块,静态常量,静态变量,静态方法,

生成顺序:父类静态(代码块,常量,变量,方法(被动调用))->子类静态(代码块,常量,变量,方法(被动调用))->父类代码块(成员变量)->父类构造函数->父类方法->子类代码块(成员变量)->子类构造函数->子类方法

static特点:

1、被所有的对象调用

2、先与对象创建

3、可以用作类名调用

4、伴随类的加载而加载

static存放位置:

1、非静态成员存放在堆区域

2、静态成员存放在方法区

static生命周期:

1、伴随类的加载生成,类的消失而消失

2、非静态伴随对象的产生而生成,对象的消失而消失

static的注意事项:

1、因为静态成员先于对象生成,所以不能使用this,super等关键字

2、非静态方法能访问静态成员和非静态成员,

3、静态方法只能访问静态成员

静态代码块与静态方法,非静态方法

1、静态代码块,静态常量,静态变量,是主动执行,只执行一次。静态方法是被动执行。

2、非静态代码块,属性是new对象一次,调用一次

3、静态方法在类加载的已经加载,通过类名调用。

posted @ 2020-03-30 13:25  清华大咖  阅读(292)  评论(0编辑  收藏  举报