Java 第四周
- 子类构造函数时要调用父类的构造函数
–why?
–待答
- clinit(class init)
–这个是static的构造函数!
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201007231522459.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0JCQmphdmFleHg=,size_16,color_FFFFFF,t_70#pic_center)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201007231540563.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0JCQmphdmFleHg=,size_16,color_FFFFFF,t_70#pic_center)
–对比一下 图二没有 load_0就是因为不需要用法this
–静态构造函数只有一个 无名字也无法重载
–而调用最后的是靠顺序
3. 静态构造函数什么时候调用?
–例子一:main里面调用两次构造函数
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201007231603873.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0JCQmphdmFleHg=,size_16,color_FFFFFF,t_70#pic_center)
–为什么static在前面?
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201007231632702.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0JCQmphdmFleHg=,size_16,color_FFFFFF,t_70#pic_center)
–这是因为jvm在加载类定义,创建类对象(这个类的class的对象)的时候就会加载static的构造函数
–如果使用一个Class.forname(“demo”)
–此时已经加载了类定义,会直接用静态构造<