static修饰分为:静态代码块,静态常量,静态变量,静态方法,
生成顺序:父类静态(代码块,常量,变量,方法(被动调用))->子类静态(代码块,常量,变量,方法(被动调用))->父类代码块(成员变量)->父类构造函数->父类方法->子类代码块(成员变量)->子类构造函数->子类方法
static特点:
1、被所有的对象调用
2、先与对象创建
3、可以用作类名调用
4、伴随类的加载而加载
static存放位置:
1、非静态成员存放在堆区域
2、静态成员存放在方法区
static生命周期:
1、伴随类的加载生成,类的消失而消失
2、非静态伴随对象的产生而生成,对象的消失而消失
static的注意事项:
1、因为静态成员先于对象生成,所以不能使用this,super等关键字
2、非静态方法能访问静态成员和非静态成员,
3、静态方法只能访问静态成员
静态代码块与静态方法,非静态方法
1、静态代码块,静态常量,静态变量,是主动执行,只执行一次。静态方法是被动执行。
2、非静态代码块,属性是new对象一次,调用一次
3、静态方法在类加载的已经加载,通过类名调用。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/13032.html