被你忽略的Java基础

Java执行顺序

加载

验证

准备:为静态变量分配内存并设置初始值(数据类型的默认值而不是实际赋的值),

解析

初始化:给静态变量赋定义的值,执行静态代码块


如果类已经被加载了,则静态代码块和静态变量就不会重复执行,再创建类对象时,只执行与实例相关的变量初始化和构造方法

1.new 创建实例: A a = new A();

2.调用静态变量: int a = A.a;     /    A.a = 100;     ----初始化了静态变量,静态代码块

3.调用静态方法:  A.get();                                   -----初始化了静态变量,静态代码块

1.A a=new A() ;

静态变量--->静态代码块--->变量--->代码块---->构造函数



B b = new B();

父静态变量---父静态代码块--子静态变量---子静态代码块---父变量---父代码块---父构造函数----子变量----子代码块----子构造函数

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容